jquery没有从C#变量中获取变量值

jquery not getting variable value from C# var

本文关键字:获取 变量值 变量 jquery      更新时间:2023-09-26

当我在.aspx中使用包括这个在内的片段时,jquery可以完美地工作

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

然后我在我的.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();
}

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

 var availableTags = <%=val%>;

我最终犯了这个错误。。编译器错误消息: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*/);

您将val声明为Page_Load方法的局部变量

   var val = from q in db.ques_tbls select q.qTitle; 

它必须存在于类级别,aspx页才能使用它。请创建一个成员或属性来存储值。

只需在C#代码中创建一个返回标题的函数。

protected string returnTitle() {
   DataClassesDataContext db = new DataClassesDataContext();
   var val = from q in db.ques_tbls select q.qTitle;
   db.SubmitChanges();
   return val.ToString();
}

和JS。。

<script>
    var availableTags = "<%= returnTitle() %>";
    console.log(availableTags);
</script>

这将以字符串的形式返回available标记,如果您需要的话,您可以调整它以返回数组。