Linkbutton击事件没有运行的处理程序
-
01-07-2019 - |
题
我创建一个自定义的下列与阿贾克斯dropdownextender.在我的拖板我linkbuttons为我的选择。
<asp:Label ID="ddl_Remit" runat="server" Text="Select remit address."
Style="display: block; width: 300px; padding:2px; padding-right: 50px; font-family: Tahoma; font-size: 11px;" />
<asp:Panel ID="DropPanel" runat="server" CssClass="ContextMenuPanel" Style="display :none; visibility: hidden;">
<asp:LinkButton runat="server" ID="Option1z" Text="451 Stinky Place Drive <br/>North Nowhere, Nebraska 20503-2343 " OnClick="OnSelect" CssClass="ContextMenuItem" />
<asp:LinkButton runat="server" ID="Option2z" Text="451 Stinky Place Drive <br/>North Nowhere, Nebraska 20503-2343 " OnClick="OnSelect" CssClass="ContextMenuItem" />
<asp:LinkButton runat="server" ID="Option3z" Text="451 Stinky Place Drive <br/>North Nowhere, Nebraska 20503-2343 " OnClick="OnSelect" CssClass="ContextMenuItem" />-->
</asp:Panel>
<ajaxToolkit:DropDownExtender runat="server" ID="DDE"
TargetControlID="ddl_Remit"
DropDownControlID="DropPanel" />
和这个效果很好。现在我要做的就是动态填补这一下拉列表.这里是我最好的尝试:
private void fillRemitDDL()
{
//LinkButton Text="451 Stinky Place Drive <br/>North Nowhere, Nebraska 20503-2343 " OnClick="OnSelect" CssClass="ContextMenuItem"
DAL_ScanlineTableAdapters.SL_GetRemitByScanlineIDTableAdapter ta = new DAL_ScanlineTableAdapters.SL_GetRemitByScanlineIDTableAdapter();
DataTable dt = (DataTable)ta.GetData(int.Parse(this.SLID));
if (dt.Rows.Count > 0)
{
Panel ddl = this.FindControl("DropPanel") as Panel;
ddl.Controls.Clear();
for (int x = 0; x < dt.Rows.Count; x++)
{
LinkButton lb = new LinkButton();
lb.Text = dt.Rows[x]["Remit3"].ToString().Trim() + "<br />" + dt.Rows[x]["Remit4"].ToString().Trim() + "<br />" + dt.Rows[x]["RemitZip"].ToString().Trim();
lb.CssClass = "ContextMenuItem";
lb.Attributes.Add("onclick", "setDDL(" + lb.Text + ")");
ddl.Controls.Add(lb);
}
}
}
我的问题是,我不能让的运行事件剧本!我已经试过上述码以及替换
lb.Attributes.Add("onclick", "setDDL(" + lb.Text + ")");
与
lb.Click += new EventHandler(OnSelect);
并且还
lb.OnClientClick = "setDDL(" + lb.Text + ")");
我在测试的分支机构提供在客户机-一侧,并得到什么。
编辑:我想尝试加入通用锚定,但我想我可以添加的元素asp.net 控制。我也可以访问的客户侧div从服务器码添加这种方式。我必须用某种形式的控制的事件。我setDLL功能如下:
function setDDL(var)
{
alert(var);
document.getElementById('ctl00_ContentPlaceHolder1_Scanline1_ddl_Remit').innerText = var;
}
我也只是拿出的串变的功能的电话(即从
lb.Attributes.Add("onclick", "setDDL(" + lb.Text + ")");
要
lb.Attributes.Add("onclick", "setDDL()");
解决方案
我不知道你setDDL方法不会在你的脚本,但它应该火灾,如果其中一个链接的按钮是点击。我想你可能会更好,只是插入一个一般html锚虽然相反的一个。净linkbutton为你会有没有提到控制服务器上面。然后你可以处理的数据excahnge你setDDL方法。此外,您可能想引用的字符串你都把内部的呼吁setDDL因为将导致本脚本问题(如不调用的方法+页错误)给你把文字串的数据没有报价。
其他提示
好吧,我用文字创造锚标签与onclicks他们,这似乎是伟大的工作。谢谢很多。
添加或许应该是这样的(添加"周围的串并添加a;到底javascript发言).
lb.Attributes.Add("onclick", "setDDL('" + lb.Text + "');");
或!
设置 OnClientClick酒店 在linkbutton.
不隶属于 StackOverflow