如果它位于ASP.NET中的DIV内,则按钮onClick不起作用

Sna*_*yes 0 html c# asp.net event-handling

我有一个喜欢的div:

<div id="specific">
<table cellpadding="2" border="0">
<tr><td>Choose category</td><td><select id="list_categories" runat="server"></select></td><td><asp:RequiredFieldValidator ControlToValidate="list_categories" runat="server" Display="Static" ErrorMessage="Select category" ID="verify_category"></asp:RequiredFieldValidator></td></tr>
<tr><td>Link name : </td><td><asp:TextBox ID="link_name" runat="server"></asp:TextBox></td><td><asp:RequiredFieldValidator ControlToValidate="link_name" runat="server" Display="Static" ErrorMessage="Provide a name for link" ID="verify_link_name"></asp:RequiredFieldValidator></td></tr>
<tr><td>Link url : </td><td><asp:TextBox ID="link_url" runat="server"></asp:TextBox></td><td><asp:RegularExpressionValidator ID="verify_url" runat="server" ControlToValidate="link_url" Display="Static" ErrorMessage="Invalid link. Must be as http://www.stabiplan.com" ValidationExpression="^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"></asp:RegularExpressionValidator></td></tr>
<tr><td>Link description</td><td><asp:TextBox ID="link_descr" runat="server"></asp:TextBox></td><td><asp:RequiredFieldValidator ControlToValidate="link_descr" runat="server" ID="verify_descr" Display="Static" ErrorMessage="Provide a link description"></asp:RequiredFieldValidator></td></tr>
<tr><td colspan="2"><center><asp:Button runat="server" ID="add_link_process" Text="Add link" OnClick="add_link_function" /></center></td></tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)

和CodeBehind.cs的功能

protected void add_link_function( object sender, EventArgs e ) {
         BusinessLayerArcht layer = LoadDataFromBL();
         if ( layer.add_link( link_name.Text, link_url.Text, link_descr.Text, list_categories.Value.ToString() ) ) {
            messages.Text = "Link added successfully";
            LoadTree( tree );
         } else {
            messages.Text = "Link could not be added !";
         }
      }
Run Code Online (Sandbox Code Playgroud)

当我点击按钮时,没有任何反应.为什么?

如果我删除DIV块并让代码在<table>按钮单击事件中起作用.

谢谢

Jam*_*son 5

我非常怀疑它与div元素有什么关系.通常,当按钮什么都不做时,因为验证阻止了回发.要对此进行测试,请CausesValidation在Button上将该属性设置为false,然后重试.