这是一个回发问题(我不想使用客户端来解决这个问题,必须有一种方法来防止回发然后使用客户端),我有一个按钮,单击它时会调用javascript函数来自后面的代码,但在执行此操作之前它会回发页面,问题是:我如何跳过回发步骤并跳转到javascript部分?
<script type="text/javascript">
function hello(name) {
alert("hello world from javascript " + name)
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
后台代码:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim Myname As String = "myName"
Dim cstype As Type = Me.GetType()
Page.ClientScript.RegisterStartupScript(cstype, "MyKey", "hello('" & Myname & "');", True)
End Sub
最佳答案
使用客户端处理程序而不是服务器端处理程序。删除 Button1_Click
并将您的 js 调用添加为 OnClientClick
属性值。
<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick="return hello('myName');" />
或者,根本不使用服务器控件:
<button id="button1" onclick="return hello('myName');">Button</button>
关于c# - 防止回发 vb 和 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11052473/