aspx,ascx,ashx在asp.net中的区别是什么?

1、.aspx
Web窗体设计页面。Web窗体页由两部分组成:视觉元素(html、服务器控件和静态文本)和该页的编程逻辑(VS中的设计视图和代码视图可分别看到它们对应得文件)。VS将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建。

2、.ascx
asp.net的用户控件,是作为一种封装了特定功能和行为(这两者要被用在Web应用程序的各种页面上)的Web页面被开发的。一个用户控件包含了html、代码和其他Web或者用户控件的组合,并在Web服务器上以自己的文件格式保存,其扩展名是*.ascx。asp.net里的缺省配置并不允许Web客户端通过url来访问这些文件,但是这个网站的其他页面可以集成这些文件里所包含的功能。

3、.ashx

ashx是“一般处理文件”。和aspx类似。但是这种文件要比aspx这种前台页面文件内容简单轻巧。.ashx不提供前台展示的功能。也可以说它结合了.cs类文件而且又可以提供给.aspx文件做UI层的互动。一般ajax这种无刷新或者其它异步操作可以用到。 例如很多网站里面统计功能,数据未完全加载完之前 页面上面会有一个图片旋转,当数据加载好之后用查询出来的数据无刷新的将页面图片替换,这样的情况就可以使用到这个文件来配合实现。当然.aspx也可以,但是对于一个很小的逻辑处理专门去创建一张.aspx页面文件很浪费资源,而且看上去也不直观,一眼望去不能直接看出该页面的用处。

以上解释太官方,不好理解,下面是个人理解:

ascx你可以理解为Html里的一部分代码,要建到aspx页面里而已,因为aspx内容多的时候实在是不太好管理.一般情况把公共的Html部分写成ascx,然后在多个aspx页面引用.举个例子:

这个页面的左边侧边栏部分,很多页面都有引用,就可以把它写在一个ascx用户控件中,每一个页面都可以引用它.

下面是代码实例:

 第一步:创建一个ascx控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="NativeTicketMenu.ascx.cs"
    Inherits="MainWeb.NativeTicket.Menu.NativeTicketMenu" %>
<div class="left_nav">
    <ul>
        <li class="title1"><span>国内机票</span></li>
        <li><span>
            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="../NativePnrAnalytical.aspx">成人PNR出票</asp:HyperLink></span></li>
        <li><span>
            <asp:HyperLink ID="HyperLink8" runat="server" NavigateUrl="../NativePnrChdAnalytical.aspx">儿童PNR出票</asp:HyperLink></span></li>
        <li id="White" runat="server"><span>
            <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="../NativeTickerQuery.aspx">机票查询</asp:HyperLink></span></li>
        <li id="PNR" runat="server"><span>
            <asp:HyperLink ID="HyperLink10" runat="server" NavigateUrl="../EtemCodeManage.aspx">Eterm编码</asp:HyperLink></span></li>
    </ul>
</div>

第二步:在aspx页面注册控件 :

<%@ Register Src="Menu/NativeTicketMenu.ascx" TagName="DomesticTicketMenu" TagPrefix="uc1" %>

第三步:在aspx页面引用控件 : 

<uc1:DomesticTicketMenu runat="server" ID="DomesticTicketMenu" />

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值