在 ASP.NET 中从C#代码隐藏调用Javascript(Raphael.js库)

Calling Javascript (Raphael.js library) from C# codebehind in ASP.NET

本文关键字:Javascript Raphael js 调用 隐藏 NET ASP 中从 代码      更新时间:2023-09-26

我正在尝试从 C# 中的代码中调用某个函数。我正在寻找如何做到这一点,并能够在我想要的时候调用警报来显示。但是,我不知道如何称呼其他东西!

这是我需要从后面的代码中调用的内容:

var paper = Raphael("paper1", 800, 800);
var Plan = paper.path("M100, 100 a 50, 50 0 0,1 50, 50 l -50 0 l 0, -50");
Plan.attr({ fill: "#FF6600" });

我已经在纯HTML文件上尝试过这些,但我无法使用它。我也在使用母版页,我找到的大多数示例都没有母版页,所以我对此很迷茫。

有人可以帮忙吗?

在.aspx页面中创建一个 Javascript 函数,然后从代码隐藏中调用该函数,如下所示:

html代码中的函数

function dostuff()
{
  // code here
}
C# code in code behind
 protected void callmethod()
    {
        StringBuilder oSB = new StringBuilder();
         Type cstype = this.GetType();

        try
        {
            oSB.Append("<script language=javaScript>");
            oSB.Append("dostuff();");
            oSB.Append("</script>");
            Page.ClientScript.RegisterClientScriptBlock(cstype, Guid.NewGuid().ToString(), oSB.ToString(), false);
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            oSB = null;
        }
    }

Javascript 只能在客户端调用。如果你绝对需要从服务器端调用它,你可以使用 asp:HiddenField 的值作为标志,当你需要在返回时执行 javascript 代码时,然后在满足要求时运行所需的 javascript。

但它不是一个很好的解决方案,您可能应该尝试将服务器和客户端分开。

希望这有所帮助,无论如何!