中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Asp.net自定義控件之單選/多選控件
來(lái)源:易賢網(wǎng) 閱讀:1102 次 日期:2016-08-06 13:49:51
溫馨提示:易賢網(wǎng)小編為您整理了“Asp.net自定義控件之單選/多選控件”,方便廣大網(wǎng)友查閱!

本文實(shí)例為大家分享了Asp.net單選、復(fù)選框控件的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

將常用的jquery插件封裝成控件也是個(gè)不錯(cuò)的選擇。

先看看效果:

名單

1.新建類庫(kù)項(xiàng)目,創(chuàng)建數(shù)據(jù)源類

[Serializable]

public class Select2Item

{

public bool Selected { get; set; }

public string Text { get; set; }

public string Value { get; set; }

public Select2Item() { }

public Select2Item(string text, string value)

{

 this.Text = text;

 this.Value = value;

}

public Select2Item(string text, string value, bool selected)

{

 this.Text = text;

 this.Value = value;

 this.Selected = selected;

}

2.創(chuàng)建控件類CheckList,繼承與WebControl,并定義 public List<Select2Item> Items數(shù)據(jù)項(xiàng)屬性。

3.引入腳本文件及樣式文件 

a.創(chuàng)建腳本或樣式文件,設(shè)置文件的屬性-生成操作-嵌入的資源

名單

b.需要在namespace上添加標(biāo)記 [assembly: WebResource("命名空間.文件夾名.文件名", "mime類型")]

如:

[assembly: WebResource("Control.Style.checklist.css", "text/css",PerformSubstitution = true)]

[assembly: WebResource("Control.Scripts.checklist.js", "application/x-javascript")] 

如果css文件里面存在圖片的話,同樣將圖片設(shè)置為嵌入的資源,在css中的寫法為<%=WebResource("命名空間.文件夾名.文件名")%> 

PerformSubstitution 表示嵌入式資源的處理過(guò)程中是否分析其他Web 資源 URL,并用到該資源的完整路徑替換。

c.重寫protected override void OnPreRender(EventArgs e),引入嵌入的腳本或樣式文件

if(Page!=null) Page.Header.Controls.Add(LiteralControl),將<script><link>標(biāo)簽放到LiteralControl中,然后將LiteralControl添加到Page.Header中,最后在頁(yè)面里你就會(huì)看到引入的<script><link>標(biāo)簽。

protected override void OnPreRender(EventArgs e)

{

 if (this.Page != null)

 {

 StringBuilder sbb = new StringBuilder();

 sbb.Append(string.Format(STYLE_TEMPLATE, Page.ClientScript.GetWebResourceUrl(this.GetType(), "HandControl.Style.checklist.css")));

 sbb.Append(string.Format(SCRIPT_TEMPLATE, Page.ClientScript.GetWebResourceUrl(this.GetType(), "HandControl.Scripts.checklist.js")));

 bool hascss = false;

 LiteralControl lcc = new LiteralControl(sbb.ToString());

 lcc.ID = "lccheck";

 foreach (Control item in Page.Header.Controls)

 {

  if (item.ID == "lccheck")

  hascss = true;

 }

 if (!hascss)

  Page.Header.Controls.Add(lcc);

 }

 base.OnPreRender(e);

4.重寫控件的protected override void Render(HtmlTextWriter writer)方法

這里主要是渲染控件的html,根據(jù)你的控件而定。 

protected override void Render(HtmlTextWriter writer)

{

 if (Items.Count > 0)

 {

 writer.Write("<div id='div" + this.ClientID + "' class='c01-tag-div' mul='" + (Multiple == true ? "1" : "0") + "'>");

 if (Multiple == false)

  writer.Write("<input name='tb" + this.ClientID + "' type='hidden' value='" + Items[0].Value + "' />");

 else

  writer.Write("<input name='tb" + this.ClientID + "' type='hidden' />");

 bool first = true;

 foreach (var item in Items)

 {

  if (Multiple == false)

  {

  if (item.Selected && first)

  {

   writer.Write("<a title='" + item.Text + "' class='c01-tag-item c01-tag-select' val='" + item.Value + "' tag='Y'>" + item.Text + "</a>");

   first = false;

  }

  else

  {

   writer.Write("<a title='" + item.Text + "' class='c01-tag-item' val='" + item.Value + "' tag='N'>" + item.Text + "</a>");

  }

  }

  else

  {

  if (item.Selected)

   writer.Write("<a title='" + item.Text + "' class='c01-tag-item c01-tag-select' val='" + item.Value + "' tag='Y'>" + item.Text + "</a>");

  else

   writer.Write("<a title='" + item.Text + "' class='c01-tag-item' val='" + item.Value + "' tag='N'>" + item.Text + "</a>");

  }

 }

 writer.Write("</div>");

 }

5.添加GetSelected方法,返回List<Select2Item>,添加GetSelectValue,返回String(多選以,號(hào)隔開(kāi))       

public List<Select2Item> GetSelected()

{

 if (Page != null)

 {

 var values = Page.Request.Form["tb" + this.ClientID].Split(',');

 var res = Items.Where(t => values.Contains(t.Value)).ToList();

 foreach (var item in Items)

 {

  if (res.Contains(item))

  {

  item.Selected = true;

  }

  else

  {

  item.Selected = false;

  }

 }

 return res;

 }

 else

 {

 return null;

 }

-------------------------------------------

public string GetSelectValue()

{

 if (Page != null)

 {

 return Page.Request.Form["tb" + this.ClientID];

 }

 return "";

6.保存狀態(tài)

你需要重寫兩個(gè)方法protected override object SaveViewState() 、protected override void LoadViewState(object savedState),旨在將Items數(shù)據(jù)項(xiàng)屬性保存到ViewState 

protected override object SaveViewState()

{

 var valuestr = Page.Request.Form["tb" + this.ClientID];

 if (!string.IsNullOrEmpty(valuestr))

 {

 var values = valuestr.Split(',');

 var temp = Items.Where(t => values.Contains(t.Value)).ToList();

 foreach (var item in temp)

 {

  item.Selected = true;

 }

 }

 return new object[] { base.SaveViewState(), Items };

}

protected override void LoadViewState(object savedState)

{

 object[] vState = (object[])savedState;

 if (vState[0] != null)

 base.LoadViewState(vState[0]);

 if (vState[1] != null)

 Items = (List<Select2Item>)vState[1];

7.單選和復(fù)選的設(shè)置,在js中控制

 添加屬性 

[Description("獲取和設(shè)置多選"), DefaultValue(true), Browsable(true), Category("雜項(xiàng)")]

public bool Multiple { get; set; }

 在OnPreRender代碼中你會(huì)發(fā)現(xiàn)Multiple屬性會(huì)影響div的mul屬性值,從而判斷是否多選(默認(rèn)多選)

 8.其它說(shuō)明

private static readonly string STYLE_TEMPLATE = "<link href=\"{0}\" rel=\"stylesheet\" type=\"text/css\" />\r\n";

 private static readonly string SCRIPT_TEMPLATE = "<script type=\"text/javascript\" src=\"{0}\"></script>\r\n";

效果圖:

名單

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:Asp.net自定義控件之單選/多選控件
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产一区在线播放| 欧美二区不卡| 亚洲精品久久视频| 狂野欧美激情性xxxx| 国产精品免费网站| 在线一区二区日韩| 在线综合亚洲欧美在线视频| 麻豆成人在线观看| 伊人精品在线| 欧美一区免费视频| 国产亚洲永久域名| 欧美专区一区二区三区| 国产日韩av在线播放| 午夜精品在线| 国产自产精品| 快播亚洲色图| 激情综合电影网| 蜜乳av另类精品一区二区| 国产麻豆综合| 老**午夜毛片一区二区三区| 在线观看视频一区二区| 美女精品一区| 亚洲另类自拍| 国产亚洲福利| 亚洲永久视频| 在线观看成人网| 欧美精品一区二区三区久久久竹菊| 国产精品jvid在线观看蜜臀| 欧美一级视频精品观看| 韩国精品一区二区三区| 欧美精品在线免费播放| 在线成人欧美| 欧美亚一区二区| 久久精品久久综合| 亚洲伦理网站| 国产精品视频网址| 美女精品网站| 中文在线不卡视频| 国产欧美日韩亚洲| 欧美韩国日本一区| 亚洲一区二区在线免费观看视频| 国产精品久久久久久久午夜片| 久久男人资源视频| 国产综合第一页| 欧美理论电影网| 欧美一区日本一区韩国一区| 99国产精品99久久久久久| 国产日韩在线亚洲字幕中文| 免费人成精品欧美精品| 香蕉av福利精品导航| 亚洲成人在线网站| 欧美久久电影| 久久免费视频一区| 一区二区久久| 亚洲精品社区| 亚洲激情在线视频| 国内伊人久久久久久网站视频| 欧美精品v国产精品v日韩精品| 亚洲视频日本| 宅男精品视频| 国内精品久久久久久久97牛牛| 国产精品成人午夜| 午夜久久电影网| 亚洲国产精品一区二区久| 欧美日韩中文在线| 欧美在线观看网站| 亚洲图片自拍偷拍| 亚洲国产精品久久久久久女王| 欧美日韩国产精品专区 | 久久人91精品久久久久久不卡| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日韩亚洲国产一区| 麻豆国产va免费精品高清在线| 99伊人成综合| 在线日韩电影| 国产欧美69| 欧美午夜激情在线| 免费观看成人www动漫视频| 在线一区二区三区四区| 亚洲日韩中文字幕在线播放| 国产模特精品视频久久久久| 免费欧美视频| 欧美一区二区三区四区在线观看 | 国产精品久久久久久久久免费桃花 | 欧美精品久久久久久久久久| 亚洲综合清纯丝袜自拍| 亚洲精品乱码久久久久久蜜桃91| 影音先锋久久久| 欧美日韩dvd在线观看| 久久久久久久网站| 久久国产手机看片| 午夜视频久久久| 国产精品狠色婷| 久久午夜电影网| 久久久久.com| 午夜亚洲伦理| 午夜激情久久久| 一区二区三区视频在线播放| 亚洲美女中出| 夜夜爽av福利精品导航| 亚洲欧洲视频| 国产欧美日韩精品a在线观看| 国产精品护士白丝一区av| 国产精品久久毛片a| 国产精品日韩精品欧美在线| 欧美精品在线视频观看| 欧美理论片在线观看| 欧美日韩亚洲高清一区二区| 欧美色图首页| 国产精品影片在线观看| 国产精品视频免费一区| 国产精品你懂得| 国内免费精品永久在线视频| 亚洲国产美女| 亚洲黄页视频免费观看| 99国产精品99久久久久久粉嫩 | 欧美中文字幕在线观看| 欧美在线视频不卡| 性xx色xx综合久久久xx| 久久精品国产亚洲精品| 一二三四社区欧美黄| 午夜免费在线观看精品视频| 亚洲自拍偷拍一区| 午夜精品免费在线| 久久阴道视频| 欧美另类女人| 国产一区二区三区日韩| 狠久久av成人天堂| 在线播放一区| 亚洲另类视频| 久久爱www| 亚洲欧美一区二区视频| 欧美一区网站| 久久蜜桃精品| 欧美激情国产高清| 国产精品一区二区久久久| 在线免费高清一区二区三区| 亚洲国产福利在线| 亚洲国产成人av好男人在线观看| 亚洲四色影视在线观看| 欧美一区二区成人6969| 欧美片在线播放| 国产日韩欧美在线视频观看| 一区二区三区在线高清| 亚洲桃花岛网站| 另类尿喷潮videofree| 国产精品入口麻豆原神| 狠狠色香婷婷久久亚洲精品| 国内精品一区二区三区| 亚洲国产日韩欧美在线图片| 午夜精品成人在线视频| 亚洲欧美日韩在线综合| 蜜月aⅴ免费一区二区三区 | 欧美在线看片a免费观看| 麻豆av一区二区三区| 欧美日韩亚洲一区三区| 国产一区二区在线观看免费播放| 在线亚洲自拍| 欧美日韩国产精品一卡| 日韩香蕉视频| 性欧美精品高清| 久久男人资源视频| 女女同性女同一区二区三区91| 国产精品久久999| 亚洲精品乱码久久久久久久久 | 一本色道久久99精品综合 | 欧美日韩另类国产亚洲欧美一级| 欧美日韩无遮挡| 国产欧美一区二区三区久久| 亚洲一区二区三区国产| 欧美日韩高清区| 国产一区二区三区av电影 | 欧美在线精品免播放器视频| 欧美大片一区二区| 国产精品乱人伦一区二区| 一区二区三区国产在线| 欧美国产日韩二区| 怡红院精品视频在线观看极品| 欧美在线观看视频一区二区三区| 欧美午夜在线视频| aaa亚洲精品一二三区| 欧美大片在线看| 好看的日韩av电影| 久久精品国产免费看久久精品| 国产精品久久综合| 亚洲欧美日韩人成在线播放| 奶水喷射视频一区| 狠狠色狠狠色综合日日小说| 欧美在线一二三| 国产美女高潮久久白浆| 久久成人精品| 国精品一区二区三区| 久久久蜜桃一区二区人| 亚洲第一中文字幕| 欧美成熟视频| 亚洲精品视频免费在线观看| 欧美日韩精品三区| 一区二区三区国产盗摄| 国产精品入口夜色视频大尺度| 夜夜嗨av色综合久久久综合网|