【问题标题】:How can I make my webpage run JavaScript code when an ASP.net control is clicked?单击 ASP.net 控件时,如何使我的网页运行 JavaScript 代码?
【发布时间】:2010-10-12 19:29:50
【问题描述】:

我有一个使用 ASP.net Tree View web 控件的网页。由于当前网页已编程,当用户单击树视图上的某个节点时,页面会回发并执行 C# 函数来处理该事件。

我可以让我的网页运行一些 Javascript 代码并在单击树视图节点时回发吗?

更新:假设我的页面如下所示。我怎样才能让点击node_A 由 Javascript 客户端而不是 C# 服务器端处理?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication3.WebForm2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TreeView runat="server" ID="myTreeView">
    <Nodes>
        <asp:TreeNode Text="node_A" Value="1" />
        <asp:TreeNode Text="node_B" Value="2" />
        <asp:TreeNode Text="node_C" Value="3" />
    </Nodes>
    </asp:TreeView>
    </div>
    </form>
</body>
</html>

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    在你的元素上绑定一个点击事件,获取事件对象并调用preventDefault()

    element.onclick = function(e) {
        var evt = window.event || e;
        evt.preventDefault();
    
        /* Your code */
    }
    

    jQuery 快捷方式

    $("element").click(function(e){ e.preventDefault(); });
    

    【讨论】:

      【解决方案2】:

      你试过了吗:
      EnableViewState="假"


      你能删除runat服务器吗?

      【讨论】:

      • 不,您不能删除runat="server"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2014-06-19
      • 1970-01-01
      相关资源
      最近更新 更多