zoukankan      html  css  js  c++  java
  • 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;
     }
    }
    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());
    }
  • 相关阅读:
    编写一个函数将一个十六进制数的字符串参数转换成整数返回?
    设置一段文字的大小为6px?
    写clone()方法时,通常都有一行代码,是什么?
    abstract class和interface有什么区别?
    JDBC中的Statement 和PreparedStatement的区别?
    什么是MVC模式?   
    Struts2的Action中获取request对象的几种方式?
    Struts2的功能扩展点有哪些?
    说说&和&&的区别?
    Struts2里面有什么隐式对象?
  • 原文地址:https://www.cnblogs.com/sjqq/p/6376993.html
Copyright © 2011-2022 走看看