Вопрос

У меня есть код, который выглядит примерно так:

<head runat="server">
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = ''; // ASP.NET value 1
     params.param5 = ''; // ASP.NET value 2
     function.call(params);
  </script>
</head>

Как использовать ASP.NET для заполнения param4 и param5?Я читал о главных страницах и заполнителях контента, но есть ли способ сделать что-то вроде params.param4 = '<%= var1 %>'; или params.param4 = '<asp:var />';?

Редактировать

Спасибо всем, кто так быстро ответил.Должно быть, у меня произошла ошибка синтаксического анализа или что-то такое, что заставило меня подумать, что это невозможно.Просто чтобы прояснить, что я сделал для решения своей проблемы:

Страница ASPX:

<head>
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = '<%= var1 %>';
     params.param5 = '<%= var2 %>';
     function.call(params);
  </script>
</head>

Код CS:

public string var1 { get; set; }

public string var2 { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
   // setup code goes here
   var1 = 'param4';
   var2 = 'param5';
}

Примечание: Вам не нужно runat="server" в заголовке, и пока переменные общедоступны в коде программной части, к ним можно получить доступ через <%= %> в <head>.

Это было полезно?

Решение

Вы как бы ответили на свой вопрос.Вы можете объявить свои переменные в коде программной части, а затем использовать их в своем коде с помощью <%= %> теги или вы можете использовать РегистрКлиентСкриптБлок метод для оперативного добавления JavaScript на вашу страницу.

Другие советы

ты мог бы сделать именно это, если бы не были runat="сервер"

в качестве альтернативы вы могли бы отобразить это параметры массив на стороне сервера

Page.ClientScript.RegisterArrayDeclaration("params", "'value1','value2','value3','" + value4 + "','" + value5 + "'");

Если ваши значения являются общедоступными переменными, объявленными в части .cs класса, вы можете сделать именно то, что вы описали, и прочитать их в тегах сервера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top