国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

如何給用戶控件定義屬性(C#:ASP.NET)

2024-07-10 12:57:01
字體:
來源:轉載
供稿:網友
前言

asp.net的用戶控件功能很強大,在web窗體里面調用相信大家都會,如果要給用戶控件定義屬性,那該怎么做呢?只要你看完這篇文章保你會給自己的控件上弄上幾個屬性。本篇文章不太適合初學.net的朋友,涉及到一些面向對象的知識,如果您不了解這些知識,請參閱相關書籍

在這里下載電子圖書(http://www.cs-aspx.net/down.aspx)

程序
namespace dotnet
{
using system;
using system.data;
using system.drawing;
using system.web;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;

/// <summary>
/// mycontrol 的摘要說明。
/// </summary>
public class mycontrol : system.web.ui.usercontrol
{

protected system.web.ui.webcontrols.dropdownlist drop;
protected system.web.ui.webcontrols.checkboxlist check;
protected system.web.ui.webcontrols.radiobuttonlist radio;
protected system.web.ui.webcontrols.button btngetvalue;
protected system.web.ui.webcontrols.label lbmsg;



private viewtypes _mytypes;
private string _myvalue = "";
private int _mymaxnumber=0;
private int _myminnumber=0;
//我們定義的屬性,_mytypes枚舉值,_mymaxnumber,_myminnumber為3個控件綁定的最小值,和最大值.
public string myvalue //這里暫時不會用到
{

get
{
return _myvalue;
}
set
{
_myvalue = value;
}
}
public enum viewtypes//定義3個控件的枚舉值
{
drop,
check,
radio
}
public viewtypes mytypes
{
get
{
return _mytypes;
}
set
{
_mytypes= value;
}
}
public int mymaxnumber
{
get
{
return _mymaxnumber;
}
set
{
_mymaxnumber=value;
}
}
public int myminnumber
{
get
{
return _myminnumber;
}
set
{
_myminnumber=value;
}
}

/*
以上myvalue,mytypes,mymaxnumber,myminnumber四個模塊都是給控件定義的四個屬性,在這里面get{}部分在這里有讀取值的作用,而set{}部分是往屬性里面寫值,。注意:他們前面的要用public定義,絕對不能用private,protected定義這里涉及到一個見級性問題,不明白的朋友請參閱相關書籍,還一個要注意的地方是我們定義的屬性值不能和上面聲明的變量名一樣。例如:
private int _intcount;
public int _intcount//切忌,這里千萬不要和上面聲明的變量是一樣的,在這里是錯誤的,要改成public int intcount
{
get{return _intcount;}
set{_intcount=value;}
}
在這里有個技巧,再聲明變量的時候,可以給第一個字母加上下劃線,或者再定義屬性的時候的時候第一個字母大寫,比如private int intcount,然后就是public int intcount。
我們在來說一下這幾個屬性是干什么用的:mytypes是顯示哪種控件(在這里定義了一個枚舉,里面有三個值,分別指的是下拉列表框,復選框,和單選按鈕,別忘了在上面聲明哦 private viewtypes _mytypes);mymaxnumber,myminnumber是綁定到控件上最大值和最小值;
*/


private void page_load(object sender, system.eventargs e)
{
this.getcontrolinformation();//調用函數
}
private void getcontrolinformation()
{

if(!page.ispostback)
for(int intcount=this._myminnumber;intcount<=this._mymaxnumber;intcount++)
//迭代綁定控件,_myminnumber為起始值,_mymaxnumber為最大值
{


switch(this._mytypes)//判斷枚舉值
{
case viewtypes.drop://顯示下拉列表,綁定值,以下都是一樣的...
this.drop.visible=true;
this.drop.items.add(intcount.tostring());
break;
case viewtypes.check:
this.check.visible=true;
this.check.repeatcolumns=this._mymaxnumber;
this.check.items.add(intcount.tostring());
break;
case viewtypes.radio:
this.radio.visible=true;
this.radio.repeatcolumns=this._mymaxnumber;
this.radio.items.add(intcount.tostring());
break;

}
}

}
//上面三個控件的visible屬性都設置為false,


#region web 窗體設計器生成的代碼
override protected void oninit(eventargs e)
{
//
// codegen: 該調用是 asp.net web 窗體設計器所必需的。
//
initializecomponent();
base.oninit(e);
}

/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器
/// 修改此方法的內容。
/// </summary>
private void initializecomponent()
{
this.btngetvalue.click += new system.eventhandler(this.btngetvalue_click);
this.load += new system.eventhandler(this.page_load);

}
#endregion

private void btngetvalue_click(object sender, system.eventargs e)
{
string str="";
if(this._mytypes==viewtypes.drop)
{
str="下拉列表框";
}
else if(this._mytypes==viewtypes.check)
{
str="復選框";
}
else if(this._mytypes==viewtypes.radio)
{
str="單選按鈕";
}
this.lbmsg.text="控件類型:"+str+" 綁定數據最小值:"+this.myminnumber.tostring()+"最大值:"+this.mymaxnumber.tostring();
}



/*
<%@ register tagprefix="usercontrol" src="mycontrol.ascx" tagname="mycontrol" %>
<usercontrol:mycontrol id="con" runat="server" mytypes="radio" myminnumber="1" mymaxnumber="10"></usercontrol:mycontrol>
按鈕的功能是在標簽控件上顯示相關信息,選擇哪種類型,和哪個控件綁定的最大值和最小值,行了到現在你就可以調用這個控件了,當然程序的健壯性還得有所改善,在這里只是起到拋磚引玉的作用。大家有什么不會的就到http://www.cs-aspx.net去發帖子,我盡力回答大家的問題!!!!!
*/

}
}





收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岢岚县| 朝阳市| 新津县| 射阳县| 昌乐县| 阿拉善右旗| 依安县| 汽车| 思南县| 晋江市| 张掖市| 融水| 邓州市| 宜宾县| 贵州省| 宁津县| 罗城| 成武县| 福建省| 巍山| 灵台县| 霍州市| 罗源县| 民权县| 海丰县| 历史| 敖汉旗| 上虞市| 海阳市| 井陉县| 改则县| 凤阳县| 灯塔市| 长泰县| 望城县| 渭源县| 秦皇岛市| 嵊泗县| 德庆县| 前郭尔| 亳州市|