在ASP.NET中动态加载内容(用户控件和模板) 
要点: 
1. 使用Page.ParseControl 
2. 使用base.LoadControl 
第一部分:加载模板 
下
面是一个模板“<table width=100%><tr><td width=100% colspan=2
runat=server id=ContainerTop></td></tr><tr><td
width=30% runat=server id=ContainerLeft></td><td width=70%
runat=server
id=ContainerRight></td></tr></table>”如何把它添加到页面中那。 
首先,你要有一个页面(.aspx),在页面中有一个一行一列的表格,并且是服务器端的TD我们就把它命名为TemplateContainer。好了现在到代码编辑窗口,在page_load中加载模板。 
第二步,使用Page.ParseControl将上边的HTML代码分析为web窗体页或用户控件的System.web.ui.control如下代码: 
protected System.Web.UI.HtmlControls.HtmlTableCell TemplateContainer; 
System.Web.UI.Control objContainer; 
private void Page_Load(object sender, System.EventArgs e) 
{ 
objContainer =Page.ParseControl(“上边的HTML代码); 
this.TempContainer.Controls.Add(objContainer); 
} 
模板已经加载完毕。 
第二部分:加载用户控件 
首先,你要确定用户控件要加载到页面的那个位置。现在你会发现第一部分的那段HTML代码,其中每一个TD都是一个容器你可以通过Page.FindControl找到你要加载控件的容器。如下代码: 
System.Web.UI.Control objControl=Page.FindControl("ContainerTop"); 
第二,找到容器后,就可以将你的用户控件加载到页面中了。如下代码: 
objControl.Controls.Add(base.LoadControl(“用户控件虚拟路径”)); 
现在运行程序看看,是不是已经加载了用户控件。 
以上是动态加载模板和用户控件的一些主要部分,要想做一个比较好的页面还需要加入许多必要的东西,如将模板和用户控件的虚拟路径都保存到数据库中、对页面已经加载了的用户控件进行位置的调整。对权限的控制如那些人可以看什么用户控件那些人不可以 看用户控件,等等。

转载原文:http://blog.163.com/w_jingli/blog/static/3825536920107119392815/

在ASP.NET中动态加载内容(用户控件和模板)的更多相关文章

  1. asp.net动态加载ascx用户控件

    原文:asp.net动态加载ascx用户控件 在主aspx/ascx文件中,将目标ascx1,ascx2控件拖拉到其页面中,然后删除,目的是要生成:Register 代码,然后在主文件中定义DIV或T ...

  2. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...

  3. Win8 Metro动态加载内容框架

    制作背景 为了参加ImagineCup 2013 世界公民类比赛,我们设计制作了一个可动态扩展的幼教类App.这个App需要能动态加载内容,内容包括带动画可交互的电子书,动画,视频,游戏. 技术支持 ...

  4. 在MVC应用程序中动态加载PartialView

    原文:在MVC应用程序中动态加载PartialView 有时候,我们不太想把PartialView直接Render在Html上,而是使用jQuery来动态加载,或是某一个事件来加载.为了演示与做好这个 ...

  5. Scrapy 框架 使用 selenium 爬取动态加载内容

    使用 selenium 爬取动态加载内容 开启中间件 DOWNLOADER_MIDDLEWARES = { 'wangyiPro.middlewares.WangyiproDownloaderMidd ...

  6. ASP.NET MVC动态加载数据

    ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分:  Source Code 上图中,有一行代码: <tbody ...

  7. 在VC中动态加载ODBC的方法

    在使用VC.VB.Delphi等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置ODBC数据源.对于一般用户而言,配置ODBC数据源可能是一件比较困难的工作.而且,在实际应用中,用户往往 ...

  8. 某APK中使用了动态注册BroadcastReceiver,Launcher中动态加载此APK出现java.lang.SecurityException异常的解决方法

    在某APK中,通过如下方法动态注册了一个BroadcastReceiver,代码参考如下: @Override protected void onAttachedToWindow() { super. ...

  9. WPF中动态加载XAML中的控件

    原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...

随机推荐

  1. javascript笔记—面向对象

    什么是对象: 对象是一个整体,对外提供一些操作. 什么是面向对象: 使用对象时,只关注对象提供的功能,不关注其内部细节,例如jquery 面向对象是一种通用思想,并非只有编程中能用,任何事情都可以用. ...

  2. IIS上不能播放mp4

    iis不支持mp4格式,需要手动添加. 进入iis服务管理器,打开你的网站,然后点击MIME类型---添加(扩展名:mp4   MIME类型:application/octet-stream) 如此即 ...

  3. 转载[WampServer下使用多端口访问]

    作者:韩子迟 原文链接:http://www.cnblogs.com/zichi/p/4589142.html 注意点:www和www2都需要安装服务: 在C:\wamp\bin\apache\Apa ...

  4. hdu 4292 Food 网络流

    题目链接 给你f种食物, 以及每种食物的个数, d种饮料, 以及个数, n个人, 以及每个人可以接受的食物种类和饮料种类. 每个人必须得到一种食物和一种饮料. 问最后得到满足的人的个数. 因为一个人只 ...

  5. IOS 特定于设备的开发:使用加速能力“向上定位”

    iPhone提供了3个机载的传感器,用于沿着iPhone的3根相互垂直的轴(左/右(x轴).上/下(y轴)和前/后(z轴))度量加速能力.这些值指示作用于iPhone的力,它们来自重力和用户移动.可以 ...

  6. html 转 js 字符串

    看到一个牛人的博客  http://riny.net/lab/#tools_html2js 看了下他的代码  挺棒的 所依赖的两个库在这里 https://github.com/Bubblings/l ...

  7. 1396 - Most Distant Point from the Sea

    点击打开链接 题意: 按顺序给出一小岛(多边形)的点 求岛上某点离海最远的距离 解法: 不断的收缩多边形(求半平面交) 直到无限小 二分收缩的距离即可 如图 //大白p263 #include < ...

  8. [置顶] fmt日期格式化

    jstl中的日期格式化 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> & ...

  9. Android 手势锁的实现 为了让自己的应用程序的安全,现在

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个样例 ...

  10. BootStrap 智能表单系列 三 分块表单配置的介绍

    相信广大博友肯定碰到过一个编辑页面分了很多块的情况,智能表单插件已经为您支持了这种情况, 代码如下(链接地址:https://github.com/xiexingen/Bootstrap-SmartF ...