首页 > 解决方案 > 从 ASP.NET 填充 javascript var

问题描述

我想在 asp.net 中创建一个自动填充文本框。但是我无法动态填充文本框。任何帮助将不胜感激。

Javascript代码

$( function() {
    var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "Haskell",
      "Ruby",
      "Scala",
      "Scheme"
    ];
    $( "#tags" ).autocomplete({
      source: availableTags
    });

    $("#disable").click ( function() {

       $( "#tags" ).autocomplete({
        disabled: true
      });

});
    $("#enable").click ( function() {

       $( "#tags" ).autocomplete({
        disabled: false
      });

});

  } );

我试图从 asp.net 填充,但我无法让它在这里工作,这是我尝试过的。

            string[] availableTags = new string[]{
            "Las Vegas",
            "Los Angeles",
            "Tampa",
            "New York",
            "s",
            "sss"
            };

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                JavaScriptSerializer serializer = new 

                JavaScriptSerializer();
                    string jsArray = serializer.Serialize(availableTags);
                    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "availableTags", jsArray, true);
    }
 }

标签: javascriptasp.net

解决方案


您可以添加脚本标签并使用带有 <%= %> 的变量

<script type="text/javascript">
     var myArray = '<%= jsArray %>';
     console.log(JSON.parse(myArray);
 </script>

在您的 .cs 源代码中注意 public 之前jsArray

         string[] availableTags = new string[]{
            "Las Vegas",
            "Los Angeles",
            "Tampa",
            "New York",
            "s",
            "sss"
            };
           public string jsArray = string.Empty;
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                JavaScriptSerializer serializer = new 

                JavaScriptSerializer();
                jsArray = serializer.Serialize(availableTags);
             }

    }

更新脚本

$( function() {
     var myArray = '<%= jsArray %>';
    var availableTags = JSON.parse(myArray);
    $( "#tags" ).autocomplete({
      source: availableTags
    });

    $("#disable").click ( function() {

       $( "#tags" ).autocomplete({
        disabled: true
      });

});
    $("#enable").click ( function() {

       $( "#tags" ).autocomplete({
        disabled: false
      });

});

  } );

推荐阅读