затем я написал следующий код в своем файле .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(); } после добавления этого я.","answerCount":2,"dateCreated":"2012-01-25","acceptedAnswer":{"@type":"Answer","text":"Вы объявили val локальной переменной для своего метода Page_Load. var val = from q in db.ques_tbls select q.qTitle; Он должен существовать на уровне класса, чтобы страница aspx могла его использовать. Создайте элемент или свойство для хранения значения."}}}
Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Jquery не получает значение переменной из С# var

Автор вопроса: user1074474Ответов: 2

jquery отлично работает, когда я использую фрагменты в .aspx, включая этот

$(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*/);
  • моя цель - назначить availableTags = с переменными CS user1074474 25.01.2012

javascriptjquery

Ответы

Ответ 1 · рейтинг 6 · David

Вы объявили val локальной переменной для своего метода Page_Load.

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

Он должен существовать на уровне класса, чтобы страница aspx могла его использовать. Создайте элемент или свойство для хранения значения.

Ответ 2 · рейтинг 4 · Jamsi

Просто создайте функцию в коде C#, которая возвращает заголовок.

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

и ЖС..

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

Это вернет availableTags в виде строки, но вы можете настроить его так, чтобы он возвращал массив, если это то, что вам нужно.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы