ASP页面窗体操作不允许ASP按钮单击启动
本文关键字:ASP 按钮 单击 启动 不允许 操作 窗体 | 更新日期: 2023-09-27 18:21:42
在我的asp
页面中,我有一个带有动作url的form
,它在asp button click
上响应,但现在我也调用了ASP button
的onclick
方法,但form action
不允许我触发onclick事件。如果我从asp页面中删除form action
。我可以启动按钮的onclick
。实际上,我必须在操作完成后重定向到一个页面。我的源代码是:
<form action="URL1" runat="server" method="post">
<asp:Button ID="Button2" Text="Submit" runat="server" OnClick="Button2_Click2"
</form>
C#代码:
protected void Button2_Click2(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("test final");
Response.Redirect("http://www.url2.com/");
}
您的表单标签格式正确吗?它还需要通过添加runat="server"和id来成为"服务器控制"。
您当前有一个拼写错误:runnat="server"应该是runat="server"
您应该使用
<form runat="server">
..
</form>
无更多无更少
像这个一样
<a href="http://www.url2.com/">
<asp:Label ID="lbl" runat="Server" Text="Button1">
</asp:Label>
</a>
这可能会对你有所帮助。
您可以在按钮客户端的点击事件上调用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>
ASP.NET的默认行为是将表单元素的所有内容张贴回最初创建html并提供给客户端的页面类。这是事件处理程序在单击按钮时启动的必要条件。
但是,如果将表单元素上的action属性的值设置为其他文件的名称,则会覆盖默认行为,并且所有内容都会发布到该新位置。如果你的事件处理程序在不同的位置,并且你没有向它发布任何数据,你怎么能指望它会被触发呢?
如果将form元素的action属性设置为定义事件点击处理程序的文件名,那么它肯定会启动。假设"Button2_Clickk2"是在Default.aspx中定义的。
<form action="Default.aspx" runat="server" method="post">
在这种情况下,您并不真正需要"action"属性。
因此,问题的原因不是action属性的存在,而是将回发重定向到其他位置。
归根结底,这是一个设计问题——我有一种感觉,你可以通过重新设计你的解决方案来实现你的目标。