【问题标题】:Asp.net Script manager conflicting with buttonAsp.net 脚本管理器与按钮冲突
【发布时间】:2010-06-18 12:13:06
【问题描述】:

我正在开发一个 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);

好吧,一件奇怪的事情。 Havent 弄清楚了我出现这种行为的原因,但是,如果按钮位于容器内,例如表格单元格,那么它可以回发。可能是一种解决方法

【问题讨论】:

  • 请显示代码如何插入按钮以及如何连接事件
  • 即使我在设计器模式下添加另一个按钮,这个新按钮也不会使用 sccrip 管理器标签发回
  • 我尝试了各种方法,我认为你可以插入按钮,我不能让它不起作用

标签: asp.net scriptmanager


【解决方案1】:
<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多