Переопределение кода 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 предварительно проанализировать этот элемент (и его дочерние элементы, если таковые имеются) на сервере, прежде чем возвращать результат в браузер клиента.

Как только вы доберетесь туда (браузер клиента):

  1. Вы можете переопределить результат (например, используя собственную клиентскую функцию)
  2. Вы не можете снова проанализировать свой собственный код на сервере.

Надеюсь, это имеет смысл.

PS я знаю это вопрос с 2016 года

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