ASP页面表单动作不让ASP按钮onclick触发

时间:2014-09-12 10:56:27

标签: c# javascript asp.net .net

在我的asp页面中,我有form个动作网址,该网址已归结为asp button click,但现在我也调用了onclick的{​​{1}}方法ASP button不要让我解雇onclick事件。 如果我从asp页面中删除form action。我可以触发form action按钮。实际上我必须在动作完成后重定向到一个页面。我的源代码是:

onclick

C#代码:

<form action="URL1" runat="server" method="post">
<asp:Button ID="Button2" Text="Submit"   runat="server" OnClick="Button2_Click2"

</form>

5 个答案:

答案 0 :(得分:0)

你的表格标签是否形成良好?它还需要通过添加runat =“server”和id来实现“服务器控制”。

你目前有一个拼写错误:runnat =“server”应该是runat =“server”

答案 1 :(得分:0)

你应该使用

    <form runat="server"> 
      .. 
     </form>

仅此而已

答案 2 :(得分:0)

您可以在按钮客户端点击事件上调用java脚本函数,如下所示

<asp:Button ID="Button2" UseSubmitBehavior="true" OnClientClick="javascript:return RedirectURL();" Text="Submit" runat="server" OnClick="Button2_Click2" />

在头部

中创建JavaScript函数
 <script type="text/javascript">
        function RedirectURL() {
            window.location = "Your URL goes here.";
 return false;
        }
    </script>

答案 3 :(得分:0)

像这样

<a href="http://www.url2.com/"> 
   <asp:Label ID="lbl" runat="Server" Text="Button1">
 </asp:Label>
</a>

这可能会帮助你。

答案 4 :(得分:0)

ASP.NET的默认行为是将表单元素的所有内容POST回到最初创建html并提供给客户端的页面类。当您单击按钮时,这是事件处理程序触发的必要条件。

但是,如果将form元素上action属性的值设置为其他文件的名称,则会覆盖默认行为,并将所有内容发布到该新位置。如果事件处理程序位于不同的位置,并且您没有向其发布任何数据,那么您怎么能期望事件处理程序触发。

如果将表单元素的action属性设置为定义事件单击处理程序的文件的名称,那么它肯定会触发。假设在Button.aspx中定义了“Button2_Click2”。

 <form action="Default.aspx" runat="server" method="post">

在这种情况下,你并不需要“行动”属性。

因此,您的问题的原因不是动作属性的存在,而是您将回发重定向到其他位置。

最终,这是一个设计问题 - 我觉得你可以通过重新设计解决方案来实现目标。