Доступ к данным сервера или переменной в коде на стороне клиента (Javascript)

Я знаю, что мы можем использовать eval и получить доступ к общедоступному свойству, объявленному в коде C#, для доступа к переменной на стороне сервера. однако это не рекомендуется как самый безопасный способ сделать это. Каков наилучший способ доступа к переменной сервера в java-скрипте? Пожалуйста, приведите примеры веб-форм ASP.Net?

1 ответ

Решение

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

Таким образом, во-первых, нужно передать переменную из кода на рендере html-страницы в javascript в виде числа, например:

<script>
 var OurVariable = 334;
</script>

Чтобы отобразить, что у вас есть много вариантов, например, вы можете использовать Literal и отобразить его в коде как:

<asp:Literal runat="server" ID="txtScriptOnMe" />

и на коде позади:

txtScriptOnMe.Text = "<script> var OurVariable = 334; </script>";

Теперь вы фактически отправили 334 на стороне клиента. После вашей модификации с использованием JavaScript, следующий шаг - отправить новый номер на сервер - и это можно сделать только на PostBack, или с помощью Ajax Call, и с помощью скрытого ввода.

Например, у вас есть этот вклад <input id="hidden1" type="hidden" runat="server" /> и используя javascript, вы можете изменить его значение и отослать его обратно на серверную часть, затем прочитать его из кода позади, и все - у вас есть связь с переменными в коде позади и в javascript.

Например, вы можете написать на JavaScript

OurVariable = 221;
document.getElementById("<%=hidden1.ClientID%>").value = OurVariable;

и измените это на 221, и отправьте это на код позади

Другие вопросы по тегам