У меня есть элемент управления ComponentArt CallBack.На стороне клиента, я хочу выполнить обратный вызов с использованием JavaScript, когда раскрывающийся список изменяется.В javascript я хочу явно передать как элемент управления, так и связанный с ним ComponentArt.Web.UI.CallBackEventArgs.
Ниже приведена простая реализация того, что я пытаюсь выполнить в более широком масштабе.
Что я добавлю в javascript для явной передачи ComponentArt.Web.UI.CallBackEventArg? Предполагая, что это возможно, интересующая меня часть помечена WHAT_DO_I_PUT_HERE.
Элемент управления ascx содержит:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="foo.ascx.cs" Inherits="WebPlugins.foo" %>
<%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<script language="javascript" type="text/javascript">
function changeDDL(sender) {
alert("This alert pops up. No problems here.");
fooClbk.Callback(sender, WHAT_DO_I_PUT_HERE );
}
</script>
<ComponentArt:CallBack id="fooClbk" runat="server" OnCallback="fooClbk_Callback">
<Content>
<asp:Label ID="lblmyDDL" AssociatedControlID="myDDL" runat="server" Text="Choose an option: "></asp:Label>
<br />
<asp:DropDownList ID="myDDL" runat="server">
<asp:ListItem Value="DEFAULT" Text="The Default Value"></asp:ListItem>
<asp:ListItem Value="ONE" Text="First!"></asp:ListItem>
<asp:ListItem Value="TWO" Text="Runner up"></asp:ListItem>
</asp:DropDownList>
</Content>
<LoadingPanelClientTemplate>
<p>Refreshing Rate Information...</p>
</LoadingPanelClientTemplate>
</ComponentArt:CallBack>
Кодовый код ascx.cs содержит:
//Some includes...
namespace WebPlugins
{
public partial class foo : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
initializeDDLEvt();
//Initialize some other stuff...
}
private void initializeDDLEvt()
{
/* Register client events for DDL */
myDDL.Attributes.Add("onChange", "changeDDL(this);");
}
protected void fooClbk_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e)
{
//Render some new HTML using the ComponentArt.Web.UI.CallBackEventArgs
}
}
}
РЕДАКТИРОВАТЬ: мое основное понимание того, что здесь происходит, было неправильно.Я предоставил некоторые детали, где я ошибся в комментарии ниже.Спасибо @jalpesh за ссылку на форум componentart.Это указало мне направление, в котором я должен был идти.