/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

ASP.NET 在.aspx页面中使用<script runat="server"></script>标记

2014-11-20 十有三 0 浏览:1万+ .NET技术 ASP.NET

最近这段时间在维护一个旧的ASP.NET项目,发现项目中有使用<script runat="server"></script>标记来插入后台的服务端代码,于是写下本文做个笔记。

其实在ASP.NET项目中使用这种标记应该是已经很少见了,随着ASP.NET MVC开始流行起来,再加上ASP.NET Web Form越来越完善(WebForm基本都是用Codebehind代码后置),只有在一些旧项目中偶尔会看到使用这种标记来嵌入后端代码。

大概的代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="WebApplication1.WebForm4" %>
<html>
<head></head>
<body>
<script runat="server">
       
    public string strWelcome;
    public string GetWelcomeString()
    {
        return "欢迎访问该页面";        
    }
    override protected void OnInit(EventArgs e)
    {
        strWelcome = GetWelcomeString();
        Response.Write(strWelcome);
    }
</script>
</body>
</html>

显示结果如图:
我们可以看到在<script runat="server">标记中写的代码和在后端.aspx.cs代码文件(代码隐藏类文件)中的写法完全一样,不仅可以声明方法变量,还可以重写OnInit初始化函数。

还有一点,在该标记中声明的方法变量的优先级,比在.aspx.cs代码文件中的方法变量优先级高,即如果在标记中和代码文件中同时声明了一样的方法和变量,那么只有标记中的方法和变量有效。  


另外要注意的是,在<script runat="server">标记中,使用#region #endregion这个预处理器指令无法折叠,一些代码区块也无法折叠,代码一多阅读性就差。

所以建议最好还是不用要这个标签,最好写在后端的.aspx.cs文件中,这也符合ASP.NET的Code Behind设计(代码后置技术),将服务端代码和前段代码分离,加强代码可读性和方便代码后期维护。
 


作者:十有三

出处:https://shiyousan.com/post/635520492955133672

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: ASP.NET中.aspx页面使用<script runat="server">标记无法输出"</script>"字符串
  • 下一篇: 奇怪的问题:ASP.NET MVC submit提交表单传入的模型实体对象为null和空值

相关文章
  • 解决"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题
  • 解决ASP.NET MVC异常:提供的防伪标记适用于用户“*”,但当前用户为“”
  • ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
  • Visual Studio Community 2013 (社区版)的一些相关问答
  • (译)在 ASP.NET中使用 XML-RPC 进行ping
  • 解决vs2010添加项目后解决方案资源管理器中没有显示解决方案的问题

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • ASP.NET 动态输出404 HTTP状态代码
  • MongoDB学习笔记:batchInsert is not a function
  • ASP.NET 验证码插件 BotDetect CAPTCHA
  • MongoDB在Windows Server 2012 R2中的安全部署
  • 解决"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号