如何在jquery中获取全局变量的值?

时间:2011-12-31 07:02:54

标签: c# jquery asp.net global-variables

我已经声明了一个名为Global的静态类。在那个类中,我声明了一个静态字符串变量LastID。我在不同的网页中为这个静态变量赋值。现在我想通过jQuery在我的.aspx页面中获取此Global变量的值。你能建议我如何获得价值吗?在我的Global类中,代码如下所示:

public static class Global
{
    static string lastID;
    public static string ImportantData
    {
        get
        {
            return lastID;
        }
        set
        {
            lastID = value;
        }
    }
}

我正在分配这样的价值:

string LID = "MyID";
Global.ImportantData = LID;

现在我想用jQuery获取这个Global.ImportantData值。我该怎么做?

4 个答案:

答案 0 :(得分:6)

您可以执行以下操作:

的WebForms:

<script type="text/javascript">
    var importantData = '<%= Global.ImportantData %>';
</script>

剃刀:

<script type="text/javascript">
    var importantData = '@Global.ImportantData';
</script>

除非您已将其包含在Web.Config中,否则请务必完全限定Global的命名空间。

修改

在回复评论时,您还可以将其分配给隐藏字段,并使用jQuery解析它:

ASPX:

<asp:HiddenField ID="ImportantData" runat="server" />
...
<script type="text/javascript">
    var importantData = $("#<%= ImportantData.ClientID %>").val();
</script>

代码背后:

protected void Page_Load (object sender, EventArgs e)
{
    ImportantData.Value = Global.ImportantData;
}

答案 1 :(得分:0)

使用window.variablename或jQuery样式$.variablename分配和访问全局变量

答案 2 :(得分:0)

你可以使用微数据来存储/读取jQuery中的东西:

<input type="hidden" data-foo="bar" />

或者您可以通过ASP.NET(即globals.aspx)页面生成JSON输出,而不是使用ajax / json调用获取它,而不是通过脚本解析/存储/使用 哦..你也可以使用localStorage或cookies。

P.S。最后的解决方案不那么“意大利面”

答案 3 :(得分:0)

在你的页面中:

this.RegisterStartupScript("ImportantData", "var importantData= '" + Global.ImportantData + "';";