在客户端覆盖runat服务器JavaScript代码

时间:2016-05-20 18:26:42

标签: javascript asp.net runatserver

假设我在客户端运行的ASP.NET页面中有一个脚本:

<script runat="server">function foo(){
//Some javascript code
}
</script>

我的问题是,我可以(或任何查看此网站的人)从客户端覆盖此函数foo:

function foo(){
 //my JavaScript code
}

这样它将在服务器上运行。

2 个答案:

答案 0 :(得分:0)

我会说不,因为那个脚本(C#,我假设)将在服务器上运行,但为什么你在asp.net页面中声明了这个?

将它放在容器(例如类)中会不会更好? (可能是经典ASP.NET WebForms的代码隐藏文件,在MVC的模型或控制器中)

查看https://msdn.microsoft.com/en-us/library/f0111sbh(v=vs.100).ASPX

答案 1 :(得分:0)

属性runat="server"仅指示ASP.NET在将结果返回到客户端浏览器之前在服务器上预解析该元素(及其子元素(如果有))。

一旦到达那里(客户端浏览器):

  1. 您可以覆盖结果(例如,使用自己的客户端功能)
  2. 您无法在服务器上再次解析自己的代码。

希望这是有道理的。

P.S。我知道这是2016年以来的一个问题

相关问题