zoukankan      html  css  js  c++  java
  • 在Asp.net网页中使用接口

    在开发Asp.net时,我们会经常有应用MasterPage或是WebUserControl。这样会遇上一个问题,需要在aspx去找MasterPage或是WebUserControl内的对象,或是从aspx传值给它们。比如一个WebUserControl被aspx调用之后,它产生的ID会随着aspx的环境而变化,而不是一成不变的,因为假如使用FindControl()寻找的话,当ID发生变化,在aspx 运行时会发生异常。下面就以一个WebUserControl来演示。

    这个WebUserControl会放一个CheckBoxList控件,当这个WebUserControl拉到aspx页面去时,在asps.cs给这个WebUserControl内的CheckBoxList控件绑定数据源。

    写一个接口类别IGetable:

    IGetable
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI.WebControls;

    /// <summary>
    /// Summary description for IGetable
    /// </summary>
    namespace Insus.NET
    {
        
    public interface IGetable
        {
            CheckBoxList GetControl();
        }
    }


    WebUserControl实作上面这个接口:

    InsusUc
    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 InsusUc : System.Web.UI.UserControl,IGetable
    {
        
    protected void Page_Load(object sender, EventArgs e)
        {

        }

        
    public CheckBoxList GetControl()
        {
            
    return this.CheckBoxList1;
        }
    }

    最后是页面aspx.cs为WebUserControl的CheckBoxList控件赋值:

    View Code
     private void Data_Binding()
        {
            CheckBoxList cbl 
    = ((IGetable)this.InsusUc1).GetControl();
            cbl.DataSource 
    = ProductCode;
            cbl.DataTextField 
    = "value";
            cbl.DataValueField 
    = "key";
            cbl.DataBind();
        }


     程序运行时的效果:

    源程序下载:
    地址:http://download.cnblogs.com/insus/ASPDOTNET/InterfaceDemo.rar

  • 相关阅读:
    SAXParseException;前言中不允许有内容的错误
    FATAL Alert:BAD_CERTIFICATE
    DB2的递归
    在Unity中针对屏幕自适应,我们该如何做呢?
    原码与反码的区别?
    在Unity 3D中加入Image图片
    你的外接键盘的小键盘在Num Lock键亮着的,但是数字按了不能用,解决办法在这里
    唯美英文(一)
    如何使用gcc编译器
    C++中const的用法
  • 原文地址:https://www.cnblogs.com/insus/p/2097447.html
Copyright © 2011-2022 走看看