【问题标题】:How to call javascript method in asp.net web application如何在asp.net Web应用程序中调用javascript方法
【发布时间】:2011-12-30 19:11:55
【问题描述】:

我想在 c# 函数中使用 javascript 函数

protected void button1_Click(object sender,EventArgs e){
    //javascript function call ex.
    /*
    boolean b=the return of:
    <script type="text/javascript">
    function update() {
        var result = confirm("Do you want to delimit the record?")
        if (result) {return true;}
        else {
             return false;
        }
    }
    </script>
    */
}

我怎么能做这样的事情?我想当用户按下是时返回 true 并且我知道他按下是...我可以这样做吗?

【问题讨论】:

    标签: c# javascript asp.net call


    【解决方案1】:

    如果您尝试从 asp.net 向您的页面添加 JavaScript,您可以使用 ClientScript 类。

    string script = "function update() { var result = confirm(\"Do you want to delimit the record?\") if (result) {return true; } else { return false; } }";
    ClientScript.RegisterClientScriptBlock(this.GetType(), "someKey", script, false);
    

    如果您尝试从您的 asp.net 代码中调用(客户端)JavaScript 函数,那么绝对不会。当页面发布并且您的 C# 运行时,页面上的任何 JavaScript 都不再存在。

    【讨论】:

    • 水平滚动是邪恶的! :-)
    • 另外,我想他问了另外一个问题:如何在 C# 中执行一个 JS 函数并获取它的值
    • @SergeiTulentsev - 我知道。对不起。我不想仅仅写出一个大的 JavaScript 字符串就占用大量的垂直空间:|
    • @SergeiTulentsev - 我知道。我编辑了,还为你首先意识到这一点 +1 :)
    【解决方案2】:

    您正在混合使用两种不同的技术。 C# 在服务器上运行。它呈现一个 HTML 页面(可能包括 Javascript)。该页面然后被发送到客户端的浏览器,最终执行 Javascript。

    在 Javascript 中,您可以提示用户删除记录或其他内容,然后您必须导航到另一个页面或使用 AJAX 将结果发送到服务器。

    我建议你买一本好的 ASP.NET 书。它将为您清除许多不确定性。

    【讨论】:

      【解决方案3】:

      如果您将此消息放在带有回发的&lt;asp:Button&gt; 上,只需将confirm 对话框添加到OnClientClick 属性,如下所示:

      <asp:Button ID="Button1" runat="server" 
          OnClientClick="return confirm('Do you want to delimit the record?');" />
      

      【讨论】:

        【解决方案4】:

        如果您只是想创建让服务器知道某个按钮已被点击的功能,那么您将事情复杂化了。如果您真的需要动态插入 Javascript,那么 Adam 提到的内容值得研究。但我高度怀疑这是否是您尝试做的正确方法。

        当您担心性能并且您有很多内容要发送时,您真的应该只动态插入 Javascript。

        如果动态插入 Javascript(即延迟加载)不是您主要关心的问题,那么 here 是一个非常简单的示例,说明大多数人通常会采取哪些措施来实现您的目标功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-21
          • 1970-01-01
          • 2012-11-16
          • 2011-11-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多