【问题标题】:C# String to Javascript var [duplicate]C#字符串到Javascript var [重复]
【发布时间】:2018-09-11 23:32:44
【问题描述】:

我在 ASP.NET 中的 C# 代码隐藏文件中有一个字符串:

string data = "Data that is populated"; 
//Note: A method populates the actual data

我需要能够将此字符串转换为 JavaScript 变量。我知道使用 Razor 文件是一种常见的方法,并且关于这个主题有几个问题,但我不确定如何使用代码隐藏文件执行此操作,也没有完全理解前面的问题和答案。

【问题讨论】:

  • 代码隐藏文件到底是什么? .aspx.cs 文件?如果是这样,你为什么不直接从 .aspx 文件中做呢?
  • 需要发送到浏览器吗?
  • @CamiloTerevinto 是的,代码隐藏文件是什么,你直接使用 aspx 文件到底是什么意思?
  • @PoulBak 我需要将其作为 JavaScript 函数的参数传入

标签: javascript c# asp.net webforms


【解决方案1】:

在这种情况下,我将 HiddenField.Value 设置为字符串的值,就像这样,在 aspx 中:

<asp:HiddenField ID="HiddenField1" runat="server" />

然后在后面的代码中:

HiddenField1.Value = "some string";

现在在 JavaScript 中,您可以读取该值并将其传递给您的函数:

var myValue = document.getElementById('HiddenField1').value;
myFuction(myValue);

【讨论】:

    【解决方案2】:

    使用此代码

    protected void Page_Load(object sender, EventArgs e)
    {
        string scriptCode = @"
            <script>
            let text = {0}; 
            alert(text);
            </script>";
    
        string message = "Hello World!";
        scriptCode = string.Format(scriptCode, HttpUtility.JavaScriptStringEncode(message, true));
    
        RegisterStartupScript("AlertCode", scriptCode);
    }
    

    函数RegisterStartupScript 将JavaSript 代码嵌入到页面中。使用 JavaScriptStringEncode() 将字符串转换为 JavaScript 字符串表示以在该 JavaScript 代码中使用。

    【讨论】:

      猜你喜欢
      • 2017-05-24
      • 1970-01-01
      • 2018-05-01
      • 2016-03-09
      • 2010-09-17
      • 1970-01-01
      • 2018-04-01
      • 2013-09-14
      • 2011-09-11
      相关资源
      最近更新 更多