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

时间:2012-01-25 00:17:44

标签: c# javascript jquery asp.net asp.net-ajax

当我在.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*/);

1 个答案:

答案 0 :(得分:4)

只需在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>

这会将availableTags作为一个字符串返回,你可以通过调整它来返回一个数组,如果你需要的话。