Как зарегистрировать переменную Javascript на стороне сервера (backend) и получить доступ к ней на стороне клиента (файл Javascript) без скрытого поля, Literal и т.д.?
Создайте переменную javaScript в коде позади asp.net
Ответ 1
Вы можете использовать RegisterClientScriptBlock -функцию из страницы ClientScriptManager.
Page.ClientScript.RegisterClientScriptBlock(Page.GetType, "initMyClientVariable", "var myClientVariable=null;", True)
РЕДАКТИРОВАТЬ: согласно вашим новым данным, вы хотите зарегистрировать массив клиентов, используйте метод ClientScriptManager RegisterArrayDeclaration. p >
Пример VB.Net:
Dim myArrayValue As String = """1"", ""2"", ""text"""
Page.ClientScript.RegisterArrayDeclaration("myClientArray", myArrayValue)
Согласно новой информации в моих комментариях, вам нужен доступ к этой переменной из внешнего js файла: вы должны передать js-array в качестве аргумента функции в js файле. Например:
callFunctionInJsFile(checkBoxes);
Ответ 2
Вы можете поместить следующий код в файл .aspx...
<script type="text/javascript" >
var date1 = "<%: DateTime.Now %>";
var date2 = "<%= DateTime.Now %>";
</script>
<%: %> works under ASP.NET 4
Ответ 3
Вы можете поместить литерал в xml-часть кода и присвоить этому литералу некоторый текст:
myLiteral.Text = "<script language=\"javascript\">var myVar = 24;</script>";
Это делает myVar
глобально доступным на стороне клиента после его рендеринга. Вы также можете использовать объект ClientScriptManager для использования Asp.Net для ввода сценариев и переменных.
Ответ 4
Сначала разместите < asp: Literal ID = "Literal1" runat = "server" > </asp: Literal > тег в <head> вашего .aspx файла.
Затем в коде на стороне сервера в файле .aspx.cs сделайте что-то вроде Literal1.Text = "< script type = \" text/javascript\ " > var таймер = 3600 </script> " , и у вас есть переменная javascript, называемая таймером.
Что это. Получайте удовольствие!