jquery没有从C#var得到变量值

use*_*474 0 javascript c# asp.net jquery asp.net-ajax

当我在.aspx中使用包含此内容的片段时,jquery完美地工作

$(function() {
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++"
    ];
    $( "#tags" ).autocomplete({
        source: availableTags
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

然后我在.cs文件中编写了以下代码

 protected void Page_Load(object sender, EventArgs e)
{

    DataClassesDataContext db = new DataClassesDataContext();
    var val = from q in db.ques_tbls select q.qTitle;
    db.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

添加后我在.aspx脚本中更改了一行,就像这样

 var availableTags = <%=val%>;
Run Code Online (Sandbox Code Playgroud)

我最终得到了这个错误..编译器错误消息:CS0103:当前上下文中不存在名称"val"

来源错误:

Line 12:       <script type="text/javascript">
Line 13:           $(function () {
Line 14:               var availableTags = <%=val %>;
Line 15:               function split(val) {
Line 16:                   return val.split(/,\s*/);
Run Code Online (Sandbox Code Playgroud)

小智 6

您向Page_Load方法声明了val局部变量

   var val = from q in db.ques_tbls select q.qTitle; 
Run Code Online (Sandbox Code Playgroud)

它必须存在于类级别才能使用aspx页面.创建用于存储值的成员或属性.

  • 并且其范围必须受到保护或公开,因为ASPX页面继承自代码隐藏页面. (2认同)