c# - 防止回发 vb 和 javascript

标签 c# javascript asp.net .net vb.net

这是一个回发问题(我不想使用客户端来解决这个问题,必须有一种方法来防止回发然后使用客户端),我有一个按钮,单击它时会调用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/

相关文章:

c# - 如何以编程方式使自动生成的文件成为 Visual Studio 中的嵌入式资源?

c# - ReSharper "Cannot resolve symbol"即使在项目构建时

c# - 将字符串转换为 int 的问题

asp.net - 如何调试数据集性能

c# - 如何取消选择列表框中的单个项目

C#拆分字符串

javascript, ajax - 通过 ajax 通过 API 调用更新 HTML 页面

Javascript,代码如何在语法上有效并且无法运行?

javascript - 要数组的对象数组

c# - 如何从 url 中删除 .aspx