ASP.NET动态添加用户控件的方法_实用技巧

本文实例讲述了ASP.NET动态添加用户控件的方法。分享给大家供大家参考。具体实现方法如下:

为了让用户控件能ASP.NET页面实现动态添加,首先写一个接口IGetUCable,这个接口有一个函数,返回对象类型是UserControl.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
/// <summary>
/// Summary description for IGetUCable
/// </summary>
namespace Insus.NET
{
public interface IGetUCable
{
 UserControl GetUC();
}
}

有了接口之后,需要创建用户控件Calculator.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Calculator.ascx.cs" Inherits="Calculator" %>
Number A: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br />
+ <br />
Number B: <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
<asp:Button ID="ButtonEqual" runat="server" Text="="
OnClick="ButtonEqual_Click1" />
<br />
Result: <asp:Label ID="LabelResult" runat="server" Text=""></asp:Label>

Calculator.ascx.cs,cs实现接口:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;
public partial class Calculator : System.Web.UI.UserControl,IGetUCable
{
 protected void Page_Load(object sender, EventArgs e)
 {
 }
 protected void ButtonEqual_Click1(object sender, EventArgs e)
 {
 decimal a = decimal.Parse(this.TextBox1.Text.Trim());
 decimal b = decimal.Parse(this.TextBox2.Text.Trim());
 this.LabelResult.Text = (a + b)。ToString ();
 }
 public UserControl GetUC()
 {
 return this;
 }
}

最后是在需要加载用户控件的aspx的Page_load事件写:

protected void Page_Load(object sender, EventArgs e)
{
 IGetUCable uc1 = (IGetUCable)LoadControl("~/Calculator.ascx");
 this.form1.Controls.Add(uc1.GetUC());
}

希望本文所述对大家的asp.net程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
, 用户控件
动态添加
,以便于您获取更多的相关知识。

时间: 2024-10-03 00:50:07

ASP.NET动态添加用户控件的方法_实用技巧的相关文章

asp.net动态载入用户控件的方法_实用技巧

在 Page_Load 中写入下面代码: string s=base.QueryString("usctrl") ; string uc= (s== String.Empty) ? "~/myweb/userctrl/default.ascx"  :  "~/myweb/userctrl/""  + s + ".ascx" ; PlaceHolder1.Controls.Clear();    PlaceHolder

ASP.NET用户控件如何使用_实用技巧

用户控件用来做什么? 用户控件常常用来统一网页显示风格.关于用户控件 1.用户控件的扩展名为.ascx. 2.用户控件中没有@Page指令,而是包含@Control指令. 3.用户控件不能做为独立文件运行,必须创建ASP.net页面,后添加. 4.在用户控件上可以使用相同的XHTML元素和Web服务器控件.例如,Button可以放到用户控件中,并创建按钮的事件处理.创建用户控件 在vs中新建项中选择用户控件.(也可以将单个文件转化为用户控件.) 制作用户控件. 例如: 用户控件代码:WebUse

asp.net为网页动态添加description描述信息的方法_实用技巧

本文实例讲述了asp.net为网页动态添加description描述信息的方法.分享给大家供大家参考.具体分析如下: 这段代码可以修改网页的head区的description meta HtmlMeta desc = new HtmlMeta(); desc.Name = "Description"; desc.Content = "描述"; Page.Header.Controls.Add(desc); 希望本文所述对大家的asp.net程序设计有所帮助. 以上是

asp.net在后端动态添加样式表调用的方法_实用技巧

本文实例讲述了asp.net在后端动态添加样式表调用的方法.分享给大家供大家参考.具体实现方法如下: HtmlLink CssControl = new HtmlLink(); CssControl.Href = url; CssControl.Attributes.Add("rel", "stylesheet"); CssControl.Attributes.Add("type", "text/css"); page.Hea

.Net遍历窗体上控件的方法_实用技巧

本文实例讲述了.Net遍历窗体上控件的方法.分享给大家供大家参考.具体分析如下: 本例实现遍历窗体上的控件以及找出TextBox控件,代码如下: 复制代码 代码如下: foreach( Control control in this.Controls ) {    if( control  is  TextBox )    //判断是否是TextBox控件    {        //TODO...         TextBox textBox=control;     //里氏转换     

详解ASP.NET数据绑定操作中Repeater控件的用法_实用技巧

一.绑定控件之Repeater.NET封装了多种数据绑定控件,诸如GridView.DataList等但该篇文章将会从Repeater入手,因为Repeater只提供了基本的数据绑定模板,没有内置其它分页等功能,所以它是最原始的数据绑定控件,只要能够熟练运用Repeater控件其它的绑定控件也就很简单了.1.Repeater简介Repeater 控件是基本模板化数据列表. 它不像GridView控件一样能够可视化的设计格式或样式,因此开发时在控件模板中必须显式声明所有格式.格式和样式标记.另外R

Asp.Net分页和AspNetPager控件的使用_实用技巧

下面就来重点说说这几种分页方式: 一般情况下我们都是通过sql语句来分页,这在无论哪种开发语音都是通用的, 使用sql语句或者存储过程分页的方式最主要的是要在读取数据的时候把sql语句或者存储过程写好,它的原理是只读取当前要显示的几行记录,所以要根据页数和每页显示的数目来写语句,如下: Select top pageSize * from News where id not in(select top (Page-1)*pageSize id from News) 很显然只要将pageSize和

ASP.NET数据绑定之DataList控件实战篇_实用技巧

上篇文章大概讲了DataList的一些基础知识,掌握这些知识在将来的应用中起到很大的作用,现在我们就开始讲上篇文章中说的基础知识做一个小例子.     首先,我机子的数据库中有一张person表,如下图所示. 现在,我们用DataList控件将表中的信息显示出来,并可以在DataList控件上对数据库中的表进行编辑操作.     1.首先用vs创建web应用程序,添加web窗体,在web窗体内拉入DataList控件,右击控件,选择编辑项模板,在这里我们能看到四个模板,其中两个是Selected

asp.net 打印控件使用方法_实用技巧

打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是 可以的了.代码如下所示: 代码 复制代码 代码如下: //调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能.(直接用系统提供的print()方法打印无法隐藏某些区域) //preview:是否显示预览.null/false:不显示,true:显示 function printPage(preview) { try { var content=window.document.body.innerHT