C#字符串到Javascript var

时间:2018-09-11 23:32:45

标签: javascript c# asp.net webforms

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

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

我需要能够将此字符串转换为JavaScript var。我知道使用Razor文件是一种常见的方式,对此主题有很多疑问,但是我不确定如何使用代码隐藏文件来做到这一点,也不确定我是否完全理解前面的问题和答案。 >

2 个答案:

答案 0 :(得分:2)

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

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

,然后在后面的代码中:

HiddenField1.Value = "some string";

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

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

答案 1 :(得分:1)

使用此代码

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字符串表示形式。