我正在开发一个asp.net应用程序,我有一些在OnInit事件上动态创建的控件。
其中一个控件是一个asp按钮,到目前为止一直运行良好。当我向页面添加ScriptManager
时,同一个按钮无法回发。它仅在ScriptManager
取出时才有效。
这样的事情是否曾经出现在其他人身上?我是否以某种方式使页面无效?
修改:
这是我的脚本管理器标记:
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePageMethods="true" EnableScriptGlobalization="true"
EnableScriptLocalization="true">
</asp:ScriptManager>
//My Dynamic Button:
Button button1 = new Button
{
ID = "button1",
Text = "Ok"
};
button1.Click += new EventHandler(Button1_Click);
好的,有点奇怪。 我没有弄清楚我有这种行为的原因,但是,如果按钮位于一个容器内,比如一个表格单元格,那么它就能够回发。可能是一种解决方法
答案 0 :(得分:0)
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnableScriptGlobalization="true" EnableScriptLocalization="true" />
<div>
<p id="lblClickedFlag" runat="server">
</p>
<div id="container" runat="server">
</div>
</div>
</form>
protected void Page_Init(object sender, EventArgs e)
{
//My Dynamic Button:
Button button1 = new Button
{
ID = "button1",
Text = "Ok"
};
button1.Click += Button1_Click;
container.Controls.Add(button1);
}
protected void Button1_Click(object sender, EventArgs e)
{
lblClickedFlag.InnerText = "clicked";
}
this works for me