单击按钮后,C#代码不会变热

时间:2011-07-08 19:49:06

标签: c# asp.net updatepanel

 <asp:UpdatePanel runat="server" ID="userRemovalUpdatePanel">
    <ContentTemplate>
        <p><label>Remove: </label>
        <asp:DropDownList runat="server" ID="removeUserList" /></p>
        <br />
        <asp:Button runat="server" ID="removeUserBtn" Text="Remove User" 
            onclick="removeUserBtn_Click" CssClass="buttons"  />
        <p><label for="deleteStatus">Delete status: </label></p><br />
        <asp:Label runat="server" ID="deleteStatusLbl" Text="" Font-Size="Medium" Width="100" ForeColor="Red" />
    </ContentTemplate>
</asp:UpdatePanel>

我在后面的代码上加了一个断点,它永远不会被击中。这背后的代码是:

protected void removeUserBtn_Click(object sender, EventArgs e)
{
    string userToDelete = removeUserList.SelectedValue;
    Business.User deleteUser = new Business.User();
    deleteStatusLbl.Text = deleteUser.DeleteUser(userToDelete);
    fillUserDropDown();
}

3 个答案:

答案 0 :(得分:2)

不是:onclick =“removeUserBtn_Click”

它是: OnClick =“removeUserBtn_Click”

答案 1 :(得分:1)

页面上是否有任何验证器?同时将Application_Error事件放在Global.asax中,并尝试记录发生的任何错误。

验证器可以防止回发,并且有时会对更新面板表现异常。

答案 2 :(得分:1)

您是否在Page_Load()中运行了任何代码?

这里的代码在之前运行任何事件处理程序被触发,所以如果有什么东西在这里中断你的页面加载,比如重定向到另一个页面等,那么点击处理程序永远不会被触发。

页面生命周期描述为here

Page_PreRender()是在事件处理程序触发后放置运行代码的替代位置。