将值从Code Behind传递给Angularjs变量

时间:2015-01-22 16:25:28

标签: c# asp.net angularjs

我想将codebehind中的值赋给angularjs变量。做这个的最好方式是什么。 (假设我在app.js中有一个变量var UserInfo。)

如果页面是Default.aspx,我会在Default.aspx.cs中为JS变量执行此操作。 的 ASPX:

<script>
    var idSeparator;
</script>

代码背后:

protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {

        }
        AssignValueToJavascriptVariable();           
    }

  private void AssignValueToJavascriptVariable()
    {
   string idSeparator = string.Format("var idSeparator = '{0}';", Constants.ID_SEPARATOR);
   if (!Page.ClientScript.IsClientScriptBlockRegistered("IdSeparator"))
     {
      Page.ClientScript.RegisterClientScriptBlock(this.GetType(),   
       "IdSeparator", idSeparator, true);
        }     
    }

1 个答案:

答案 0 :(得分:3)

另一种方法是使用属性,并从Default.aspx页面调用它,例如。

public string idSeparator {get { return "test"; }}

在aspx页面中:

<script type="text/javascript">
       var idSeparator = '<%=idSeparator %>';
 </script>

您可以让您的财产不是只读的,如果您需要,可以稍后设置属性值。

或者您可以使用Asp.net隐藏字段。