Вставьте код в <head> с помощью ASP.NET.
Вопрос
У меня есть код, который выглядит примерно так:
<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 класса, вы можете сделать именно то, что вы описали, и прочитать их в тегах сервера.