欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Asp.net自定義控件之單選、多選控件

Asp.net自定義控件之單選、多選控件

熱門標簽:蘇州如何辦理400電話 網絡電話外呼系統上海 臨沂智能電話機器人加盟 400電話辦理怎么樣 百應電話機器人外呼系統 西寧呼叫中心外呼系統線路商 地圖標注軟件免費下載 聯通官網400電話辦理 外呼電話機器人成本

本文實例為大家分享了Asp.net單選、復選框控件的具體實現代碼,供大家參考,具體內容如下

將常用的jquery插件封裝成控件也是個不錯的選擇。

先看看效果:

1.新建類庫項目,創建數據源類

 [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.創建控件類CheckList,繼承與WebControl,并定義 public ListSelect2Item> Items數據項屬性。

3.引入腳本文件及樣式文件 
a.創建腳本或樣式文件,設置文件的屬性-生成操作-嵌入的資源

  

b.需要在namespace上添加標記 [assembly: WebResource("命名空間.文件夾名.文件名", "mime類型")]
如:
    [assembly: WebResource("Control.Style.checklist.css", "text/css",PerformSubstitution = true)]
    [assembly: WebResource("Control.Scripts.checklist.js", "application/x-javascript")]
 

 如果css文件里面存在圖片的話,同樣將圖片設置為嵌入的資源,在css中的寫法為%=WebResource("命名空間.文件夾名.文件名")%> 
 PerformSubstitution 表示嵌入式資源的處理過程中是否分析其他Web 資源 URL,并用到該資源的完整路徑替換。
c.重寫protected override void OnPreRender(EventArgs e),引入嵌入的腳本或樣式文件
 if(Page!=null) Page.Header.Controls.Add(LiteralControl),將script>link>標簽放到LiteralControl中,然后將LiteralControl添加到Page.Header中,最后在頁面里你就會看到引入的script>link>標簽。

 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,根據你的控件而定。 

 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方法,返回ListSelect2Item>,添加GetSelectValue,返回String(多選以,號隔開)       

 public ListSelect2Item> 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.保存狀態
 你需要重寫兩個方法protected override object SaveViewState() 、protected override void LoadViewState(object savedState),旨在將Items數據項屬性保存到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 = (ListSelect2Item>)vState[1];
 } 

7.單選和復選的設置,在js中控制
 添加屬性 
[Description("獲取和設置多選"), DefaultValue(true), Browsable(true), Category("雜項")]
public bool Multiple { get; set; }
 在OnPreRender代碼中你會發現Multiple屬性會影響div的mul屬性值,從而判斷是否多選(默認多選)
 8.其它說明
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";

效果圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • asp.net自定義控件代碼學習筆記
  • asp.net 自定義控件實現無刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖
  • Asp.net 動態加載用戶自定義控件,并轉換成HTML代碼
  • asp.net DropDownList自定義控件,讓你的分類更清晰
  • 關于asp.net 自定義分頁控件
  • ASP.NET單選按鈕控件RadioButton常用屬性和方法介紹
  • 淺談ASP.NET中最簡單的自定義控件
  • ASP.NET中 CheckBox復選框控件的使用
  • ASP.NET中CheckBoxList復選框列表控件詳細使用方法
  • ASP.NET中 RadioButtonList 單選按鈕組控件的使用方法

標簽:聊城 中衛 海西 平涼 慶陽 臨夏 清遠 甘肅

巨人網絡通訊聲明:本文標題《Asp.net自定義控件之單選、多選控件》,本文關鍵詞  Asp.net,自定義,控件,之,單選,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.net自定義控件之單選、多選控件》相關的同類信息!
  • 本頁收集關于Asp.net自定義控件之單選、多選控件的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美精品一级二级| 午夜私人影院久久久久| 国产一区二区三区久久久| 女尊高h男高潮呻吟| 777午夜精品视频在线播放| 亚洲另类在线一区| 91视频www| 91成人在线免费观看| 亚洲女同ⅹxx女同tv| 成人av动漫网站| 91久久线看在观草草青青| 国产精品你懂的在线欣赏| 国产91精品露脸国语对白| 波多野结衣喷潮| 国产精品嫩草影院av蜜臀| 国产aⅴ综合色| 久久久久99精品成人片试看| 国产精品女同一区二区三区| 成人免费av资源| 色视频一区二区| 一区二区三区视频在线观看| 99精品黄色片免费大全| 欧美午夜精品久久久久久超碰| 亚洲一区二区在线免费看| 图片区偷拍区小说区| 欧美一区二区三区啪啪| 开心九九激情九九欧美日韩精美视频电影 | 国产网红主播福利一区二区| 国产大陆精品国产| 曰本女人与公拘交酡| 亚洲黄色在线视频| 黄色网址在线视频| 久久综合五月天婷婷伊人| 欧美成人在线直播| 久久国产精品色| 国产黄色小视频网站| 亚洲精品国产视频| 成人免费无码大片a毛片| 2023国产精品视频| 成人中文字幕电影| 欧美日韩一区二区三区四区 | 色综合久久综合网| 亚洲国产综合色| 国产精品扒开腿做爽爽| 国产欧美精品一区| 中文字幕无码毛片免费看| 日韩欧美在线影院| 福利电影一区二区| 欧美精品久久一区| 国产一区二区在线影院| a级黄色片免费看| 视频一区二区三区入口| 日韩欧美黄色网址| 一区二区三区视频在线看| 国产特黄级aaaaa片免| 国产精品久久777777| 国产精品手机在线观看| 国产亚洲精品bt天堂精选| 宇都宫紫苑在线播放| 日韩亚洲电影在线| 不卡一区在线观看| 欧美成人精品1314www| 东方aⅴ免费观看久久av| 91精品福利在线一区二区三区 | 波多野结衣喷潮| 亚洲福中文字幕伊人影院| 一级片久久久久| 亚洲午夜免费福利视频| 精品视频第一页| 午夜在线成人av| 糖心vlog免费在线观看| 午夜日韩在线电影| 加勒比婷婷色综合久久| 免费在线观看一区| 日本道在线观看一区二区| 久久精品国产77777蜜臀| 欧美羞羞免费网站| 国产精品123区| 日韩欧美另类在线| 日本r级电影在线观看 | 欧美成人一区二区三区片免费| 不卡视频在线看| 2020国产精品自拍| 亚洲欧美日韩国产综合| 手机免费看av| 亚洲v中文字幕| 一本久道中文字幕精品亚洲嫩| 久久国产乱子精品免费女| 欧美日韩高清在线| av影院午夜一区| 欧美国产日韩精品免费观看| 成人精品在线观看视频| 亚洲自拍欧美精品| 国产极品国产极品| 国产一区高清在线| 日韩三级视频在线看| 午夜性福利视频| 亚洲色图制服诱惑| 91麻豆精品久久毛片一级| 麻豆成人免费电影| 日韩一区二区三区高清免费看看| 菠萝蜜视频在线观看一区| 国产清纯白嫩初高生在线观看91 | 91精品国产入口在线| 97超碰免费在线观看| 国产精品久久精品日日| eeuss中文字幕| 久久精品国产澳门| 日韩精品一区二区三区老鸭窝| 国产伦理在线观看| 一区二区三区免费观看| 一本一道综合狠狠老| 国产精品性做久久久久久| 久久综合色8888| 精品人伦一区二区| 久99久精品视频免费观看| 欧美mv日韩mv国产网站| 添女人荫蒂视频| 青青草国产成人av片免费| 欧美一区二区福利视频| 日本japanese极品少妇| 午夜精品福利一区二区三区蜜桃| 欧美日韩国产影片| 久久久久无码国产精品一区李宗瑞| 亚洲精品中文在线影院| 91成人在线精品| 女人扒开腿免费视频app| 亚洲综合免费观看高清在线观看 | 懂色av一区二区三区蜜臀| 国产精品视频第一区| 91久久久久久久久久久久久久| 国产制服丝袜一区| 久久精品日韩一区二区三区| 国产在视频线精品视频| 国产精品亚洲视频| 中国av一区二区三区| 亚洲色图综合区| 国产91在线免费观看| 亚洲aaa精品| 日韩精品一区二区三区在线| 老熟妇一区二区| 国产精品亚洲一区二区三区在线| 国产精品天天摸av网| 一本色道久久加勒比精品| 69久久精品无码一区二区| 性做久久久久久久免费看| 91精品国产91久久久久久最新毛片| 亚洲专区区免费| 国产美女在线观看一区| 国产精品国产三级国产有无不卡 | 亚洲一区中文日韩| 欧美一区二区三区电影| 新91视频在线观看| 国产高清在线精品| 亚洲精品久久久久久国产精华液| 欧美精品久久一区| 中文字幕第20页| 成人免费毛片高清视频| 夜夜爽夜夜爽精品视频| 日韩欧美一区电影| 岛国片在线免费观看| 99精品视频在线播放观看| 亚洲sss视频在线视频| 精品成人一区二区| 国产一二三四区| 无码国产精品一区二区免费式直播 | 亚洲AV无码片久久精品| 国产成人自拍在线| 亚洲一区二区在线视频| 欧美精品一区二区久久婷婷| 可以直接看的黄色网址| www.四虎在线| 国产一区二区精品在线观看| 亚洲乱码国产乱码精品精98午夜 | 亚洲av午夜精品一区二区三区| 免费成人av在线| 国产精品天美传媒| 678五月天丁香亚洲综合网| www.4hu95.com四虎| 99re亚洲国产精品| 久久精品国产秦先生| 亚洲欧美日韩中文播放| 日韩精品一区二区三区swag| 国产高潮国产高潮久久久91| 黄色录像a级片| 成人永久免费视频| 日韩电影一二三区| 国产精品白丝在线| 日韩免费福利电影在线观看| 午夜69成人做爰视频| 人妻体内射精一区二区| 97久久精品人人澡人人爽| 麻豆国产精品777777在线| 亚洲黄色av一区| 国产无一区二区| 777精品伊人久久久久大香线蕉| 国产乱子轮xxx农村| 国产一级二级在线观看| 91在线视频免费91| 国产一区二区免费在线|