Переопределение кода JavaScript сервера runat на стороне клиента
Допустим, у меня есть скрипт на странице ASP.NET, который выполняется на стороне клиента:
<script runat="server">function foo(){
//Some javascript code
}
</script>
У меня вопрос, могу ли я (или любой, кто просматривает этот сайт) переопределить эту функцию foo со стороны клиента, чтобы:
function foo(){
//my JavaScript code
}
такой, что он будет работать на сервере.
2 ответа
Я бы сказал нет, так как этот скрипт (я полагаю, C#) будет работать на сервере, но почему вы объявили об этом на странице asp.net?
Не лучше ли иметь его в контейнере (например, в классе)? (может быть файлом с выделенным кодом для классических веб-форм ASP.NET в модели или контроллере для MVC)
Посмотрите на https://msdn.microsoft.com/en-us/library/f0111sbh(v=vs.100).ASPX
Атрибут runat="server"
просто указывает ASP.NET предварительно проанализировать этот элемент (и его дочерние элементы, если таковые имеются) на сервере, прежде чем возвращать результат в браузер клиента.
Как только вы доберетесь туда (браузер клиента):
- Вы можете переопределить результат (например, используя собственную клиентскую функцию)
- Вы не можете снова проанализировать свой собственный код на сервере.
Надеюсь, это имеет смысл.
PS я знаю это вопрос с 2016 года