分析在ASP.NET中运用PlaceHolder控件

2024-02-29 03:08

本文主要是介绍分析在ASP.NET中运用PlaceHolder控件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在从一个Web页面转换到另一个Web页面时,你的ASP.NET应用程序的用户界面的某些部分常常是保持不变的——如某些“装饰”的部分:页眉处的GIF图片、水平工具条或导航条、左侧的链接、等等。你可以继续用它们,而不必为每个页面重建。   在过去,一个流行的ASP技术就是为一个页面的每个主要部分创建一个include文件,然后建一个整体的HTML表,表的单元包含每个include文件。这种方法是可行的,但是不美观,还容易出错。幸运的是,ASP.NET可以让你用一种更好的方法来解决这个问题,运用一个Visual Studio .NET PlaceHolder Web控件。该控件将其它控件作为一个集合(collection)包含起来。你可以在运行时清除那个collection或添加它;例如,你可以在运行时添加一个Web用户控件(一个模块式的Web页面)。我将讲述如何将PlaceHolder Web控件同Web用户控件结合起来运用,为构建ASP.NET应用程序提供一个方法。 
  首先在VS.NET中创建一个新的ASP.NET Web应用程序。我在样例代码中用的是C#。创建一个Web窗体,保存的文件带有ASPX扩展名。我称其为我的main.aspx。该页面是你的应用程序中唯一的Web页面,因为你用Web用户控件(ASCX文件)来开发所有的页面“内容”。 
  在main.aspx页面中创建你选择的站点装饰内容。在你想放置站点丰富内容地方添加一个PlaceHolder控件。然后,将下面的代码添加到你的页面的Page Load事件中:
private void Page_Load(object sender, 
System.EventArgs e) 

string p = Request.QueryString.Get("p"); 
PlaceHolder1.Controls.Clear(); 
if (p == null) 
PlaceHolder1.Controls.Add(LoadControl 
("modules/" + "Default" + ".ascx")); 
else 

PlaceHolder1.Controls.Add(LoadControl 
("modules/" + p + ".ascx")); 


  通过该代码,你可以在项目模块文件夹中看到一个包含Web用户控件页面(ASCX)的名字的查询字符串参数p。你不用将所有ASCX文件都放在一个单独的文件夹中,但这么做的确可以进一步隔离应用程序。 
  一旦你得到那个字符串后,清空PlaceHolder的Controls集合,清除你在先前可能显示的任何ASCX。然后,查看一下代码,看你是否需要加载一个缺省的ASCX。最后,如果p查询字符串是请求的一部分,那么由p查询字符串代表的页面就被加载了。 
  你不需要费很大的劲构建代码来在你的站点上显示多个Web页面。在你的VS.NET项目中添加一个新的Web用户控件页面。一旦你添加了这个页面,你就可以把它当作你的应用程序中的唯一的页面来设计并编写代码了;你甚至不需要知道它将在main.aspx页面中运行。当然,如果该页面需要与主页面交互,情况并没有这么简单,但在这里我并不打算讲述这个问题。  
分析在ASP.NET中运用PlaceHolder控件 - 往 - 郁郁的博客
  图1. 保持你的Web GUIs的恒量元素 
  设想你需要在VS.NET开发环境中显示一个Account Logon用户控件(见图1)。
  代码只给开发人员提供与该页面细节相关的UI。没有办法改变整体页面的其它方面。 
  现在,当你在一个浏览器中运行http://localhost/CSCSdotNET/main.aspx时,首先加载了default.ascx页面,这是由于main.aspx的Page Load事件的缘故。要导航到Login页面,你只需将一个p查询字符串参数添加到请求——在这个例子中,运用URL http://localhost/CSCSdotNET/main.aspx p=01-AccountLogon。现在显示的就是整个main.aspx页面,以及你在图1中看到的动态加载的01-AccountLogon.ascs Web用户控件。 
  关于作者: 
  Marc Gusmano在Information Management Group(www.imginc.com)公司主要负责新兴技术的研究,这家公司是Microsoft Gold Certified Partner(金牌资格合作伙伴)。Marc主要致力于运用COM+和.NET设计、实现分布式和电子商务解决方案。他在大会上做演讲,并在芝加哥管理芝加哥的Microsoft Internet Developers Group。他的联系方式是gusmanomarc@imginc.com。

这篇关于分析在ASP.NET中运用PlaceHolder控件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757394

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

poj 2431 poj 3253 优先队列的运用

poj 2431: 题意: 一条路起点为0, 终点为l。 卡车初始时在0点,并且有p升油,假设油箱无限大。 给n个加油站,每个加油站距离终点 l 距离为 x[i],可以加的油量为fuel[i]。 问最少加几次油可以到达终点,若不能到达,输出-1。 解析: 《挑战程序设计竞赛》: “在卡车开往终点的途中,只有在加油站才可以加油。但是,如果认为“在到达加油站i时,就获得了一

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in