简体   繁体   English

将值从CodeBehind传递给Angularjs变量

[英]Pass value from CodeBehind to Angularjs variable

I would like to assign a value from codebehind to an angularjs variable. 我想从codebehind分配一个值给angularjs变量。 What is the best way to do this. 做这个的最好方式是什么。 (say I have a variable var UserInfo in app.js). (例如,我在app.js中有一个变量var UserInfo)。

If the page is Default.aspx, I would do this in Default.aspx.cs for a JS variable. 如果页面是Default.aspx,我将在Default.aspx.cs中为JS变量执行此操作。 ASPX: ASPX:

<script>
    var idSeparator;
</script>

Code Behind: 背后的代码:

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);
        }     
    }

Another way would be to use properties and from Default.aspx page call it eg 另一种方法是使用属性,并从Default.aspx页面调用它,例如

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

In aspx page: 在aspx页面中:

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

You can have your property to not be read-only and later on set the property value if you require that. 您可以将属性设置为非只读,然后在需要时设置属性值。

Or alternatively you can use Asp.net hidden fields. 或者,您也可以使用Asp.net隐藏字段。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM