亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

如何用jQuery實現ASP.NET GridView折疊伸展效果

2019-11-20 11:31:06
字體:
來源:轉載
供稿:網友

今天做靜態頁面時有一個需求,就是頁面上有一組兩個選項的單選按鈕和一個有6行的列表(該列表用Table標簽實現,不是DIV),當選擇單選按鈕的選項一時,列表的前三條信息顯示后三條信息隱藏,當選擇單選按鈕的選項二時,列表的前三條信息隱藏后三條信息顯示。那么就牽扯出我們今天的話題拉,如何實現呢?實現后該實現還能應用到哪些場景?

1、第一反應的解決方案

碰到這個需求后,我第一反應就是很簡單啊,分別用兩個DIV將前三個Table中的TR標簽與后三個TR標簽包起來,然后通過JS控制DIV的顯示。

第一步:使用DIV包裹需要隱藏顯示的TR。代碼如下:

<table> <div id="divName"> <tr> <td>姓名:</td> <td><input id="txtname" type="text" /></td> </tr> </div> <div id="divSex"> <tr> <td>年齡:</td> <td><input id="txtsex" type="text" /></td> </tr> </div> </table> 

第二步:使用JS控制DIV的顯示,來達到控制隱藏或顯示行的效果:

$("#divName").style.display = "none"; 
$("#divSex").style.display = "block";
第三步:運行程序,你會發現根本不管用,哈哈,有點被耍的感覺~!因為TR標簽只能與TABLE標簽搭配使用!好啦,雖然上面的代碼不管用!但是還算起到了一個引導的作用吧,失敗是成功的老娘嘛!

2、推薦的使用panel解決方案

這是在我描述了DIV與TR不能配合使用后,被同事笑話啦,哎、看來以后要多多學習學習HTML啦,笑話完我后,同事董寧告訴我用PANEL控件包住TR,用Visible屬性在服務器級別控制TR的輸出。

第一步:使用PANEL控件包住用來顯示或隱藏的TR標簽,代碼如下:

<table> <asp:Panel ID="plName" runat="server"> <tr> <td>姓名:</td> <td><input id="txtname" type="text" /></td> </tr> </asp:Panel> <asp:Panel ID="plSex" runat="server" > <tr> <td>年齡:</td> <td><input id="txtsex" type="text" /></asp:Panel></td> </tr> </asp:Panel> </table> 

第二步:在服務器端使用Panel控件的Visible屬性控制行的輸出,代碼如下:

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) {  string val = RadioButtonList1.SelectedValue;  switch (val)  {   case "Name":    plName.Visible = true;    plSex.Visible = false;    break;   case "Sex":    plName.Visible = false;    plSex.Visible = true;    break;   default:    plName.Visible = true;    plSex.Visible = true;    break;  } } 

這種方法雖然沒有問題,但是感覺還是太無厘頭了吧?控制頁面展示的代碼也要讓服務器端去做嗎?太浪費性能了!而且頁面控制的代碼與邏輯交互代碼放一起簡直是混亂不堪啊,在否決掉這個辦法時,我們的大俠歪歪同志登場了,說道歪歪同志我不得不佩服啊,身為項目經理的歪歪,寫代碼的功底竟然比程序員還猛,完全無需代碼提示,純手工敲擊鍵盤加清晰思路完美解決該問題!

3、無厘頭解決方案

那么,我們來看這個思路,首先給每個TR標簽賦予一個class樣式,但是這個樣式是沒有實現的,僅僅做獲取該TR的標識。

第一步:給TR標簽添加一個沒有實現的class樣式。代碼如下:

<table id="MyList"> <tr class="NameCSS"> <td>姓名:</td> <td><input id="txtname" type="text" /></td> </tr> <tr class="SexCss"> <td>年齡:</td> <td><input id="txtsex" type="text" /></td> </tr> </table> 

第二步:使用Jquery根據class獲取TR元素,并且控制其隱藏或顯示,代碼如下:

var $rowsName = $("#MyList").find(".NameCSS"); var $rowsSex = $("#MyList").find(".SexCss"); switch (selectedValue) {  case "Name":  $rowsSex.hide();  $rowsName.show();  break;  case "Sex":  $rowsSex.show();  $rowsName.hide();  break; } 

第三步:運行,完全沒有問題,此問題解決!

4、根據第三個方案的實現聯想的應用場景

我們現在可以控制TABLE中TR的顯示與隱藏后,我們可以想到ASP.NET GridView控件在綁定數據后輸出到瀏覽器后的數據部分,也是用TR的形式來顯示的,那么我們可不可以控制GridView內容的顯示與隱藏呢?當然沒問題了。

第一步:如何給GridView數據行加入class屬性呢?我們可以用GridView的行樣式(<RowStyle CssClass="test" />)來設置,代碼如下:

<asp:GridView ID="GridView1" runat="server"> <RowStyle CssClass="test" /> </asp:GridView> 

此時我們運行頁面,查看頁面輸出的源代碼會看到GridView數據部分的所有TR都被賦予了一個class="test"屬性!

第二步:綁定數據,代碼如下:

if (!IsPostBack)   {    List<Student> sList = new List<Student>()    {     new Student(){ SID = "s001", SName="張三", SSex="男"},     new Student(){ SID = "s002", SName="李四", SSex="女"},     new Student(){ SID = "s003", SName="王五", SSex="男"}    };     GridView1.DataSource = sList;    GridView1.DataBind();   }  } 

第三步:加入控制顯示或隱藏GridView數據的按鈕,代碼如下:

<input id="btn" type="button" value="隱藏" onclick="ShowDate()" /> 

第四步:實現控制顯示和隱藏的JS方法,代碼如下:

function ShowDate() {    var val = $("#btn").val();    var $rows = $("#GridView1").find(".test");    switch (val) {     case "隱藏":      $rows.hide();      $("#btn").val("顯示");      break;     case "顯示":      $rows.show();      $("#btn").val("隱藏");      break;    }   } 

呵呵,實現這個功能的原因、人物、靈感、整個前因后果就介紹完啦,編程嘛不僅是要實現功能,更要融于生活。

以上四個方法都是緊密相連,互相有聯系的,希望大家細細品味,仔細琢磨,真正成為自己的東西,運用到學習中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产999精品| 精品亚洲精品福利线在观看| 亚洲日本中文字幕| 亚洲电影天堂av| 亚洲午夜小视频| 亚洲国产另类久久精品| 精品一区二区三区三区| 91精品国产自产在线观看永久| 久久夜色精品国产| 成人午夜黄色影院| 正在播放国产一区| 日韩精品高清在线| 深夜福利亚洲导航| 欧美性20hd另类| 亚洲在线免费视频| 97在线视频免费| 最近2019中文字幕mv免费看| 亚洲精品国产精品乱码不99按摩| 97视频在线观看视频免费视频| 欧美激情按摩在线| 欧美一级大片在线免费观看| 亚洲伦理中文字幕| 色视频www在线播放国产成人| 日韩精品高清视频| 国产成人免费91av在线| 日韩不卡在线观看| 国产亚洲视频中文字幕视频| 欧美做爰性生交视频| 欧美精品午夜视频| 国产大片精品免费永久看nba| 国产综合色香蕉精品| 欧美日韩中文字幕在线| 日本a级片电影一区二区| 国产精品精品视频| 91九色综合久久| 欧美午夜宅男影院在线观看| 911国产网站尤物在线观看| 在线免费看av不卡| 欧美电影电视剧在线观看| 国产免费一区二区三区在线观看| 超碰97人人做人人爱少妇| 久久99久国产精品黄毛片入口| 欧美性理论片在线观看片免费| 亚洲区在线播放| 国产欧美最新羞羞视频在线观看| 欧美激情性做爰免费视频| 国内外成人免费激情在线视频网站| 高清一区二区三区日本久| 亚洲最新在线视频| 欧美激情久久久| 国产精品www色诱视频| 日韩欧美有码在线| 久久免费少妇高潮久久精品99| 日韩中文字幕免费| 黑人巨大精品欧美一区二区三区| 欧美福利视频在线观看| 久久国产一区二区三区| 国产精品精品国产| 欧美精品videossex性护士| 国产精品免费观看在线| 国产精品中文字幕在线观看| 最近2019年中文视频免费在线观看| 亚洲免费中文字幕| 国产一区二区三区在线播放免费观看| 91美女片黄在线观| 成人免费看吃奶视频网站| 国产不卡av在线免费观看| 日韩www在线| 国产精品999999| 国产激情综合五月久久| 欧美性xxxx极品hd欧美风情| 国产成人在线一区| 精品自拍视频在线观看| 久久综合免费视频影院| 亚洲人成自拍网站| 欧美性在线观看| 亚洲三级黄色在线观看| 亚洲欧美日韩精品久久奇米色影视| 国语自产偷拍精品视频偷| 欧美肥婆姓交大片| 久久久久久久激情视频| 亚洲综合在线中文字幕| 疯狂欧美牲乱大交777| 精品女厕一区二区三区| 国产亚洲人成网站在线观看| 庆余年2免费日韩剧观看大牛| 国产成人高潮免费观看精品| 亚洲欧美日韩视频一区| 亚洲的天堂在线中文字幕| 精品久久在线播放| 91精品国产99| 97在线精品视频| 国产精品流白浆视频| 伊人久久男人天堂| 国内精品小视频在线观看| 久久综合伊人77777尤物| 91大神在线播放精品| 久久成人精品电影| 欧美视频在线免费| 日韩精品在线观看视频| 亚洲性猛交xxxxwww| 亚洲人成电影网站色…| 国产欧美久久久久久| 91在线国产电影| 日韩精品在线影院| 国产精品久久色| 精品国产区一区二区三区在线观看| 亚洲最大成人免费视频| 国产综合福利在线| 色偷偷噜噜噜亚洲男人的天堂| 中文字幕少妇一区二区三区| 91精品久久久久久| 欧美制服第一页| 欧美性感美女h网站在线观看免费| 欧美成人午夜免费视在线看片| 欧美激情一级精品国产| 在线播放精品一区二区三区| 日韩国产精品亚洲а∨天堂免| 青青久久av北条麻妃黑人| 日韩电视剧在线观看免费网站| 国产精品视频大全| 亚洲第一中文字幕在线观看| 日韩美女免费观看| 久久久久久久久久久久久久久久久久av| 91精品国产高清久久久久久91| 日韩久久精品电影| 成人免费福利视频| 亚洲社区在线观看| 久久久噜噜噜久久久| 97精品国产97久久久久久免费| 中文字幕日韩欧美精品在线观看| 国产91对白在线播放| 青青青国产精品一区二区| 亚洲美女视频网| 国产欧美精品一区二区三区介绍| 欧美日韩在线视频一区二区| 国产精品久久电影观看| 中文字幕日韩精品有码视频| 中文字幕精品—区二区| 日韩在线视频二区| 国产精品第一第二| 精品国产视频在线| 另类少妇人与禽zozz0性伦| www欧美xxxx| 国产精品白嫩美女在线观看| 国产欧洲精品视频| 日韩精品999| 精品久久久久久亚洲精品| 国产xxx69麻豆国语对白| 91社影院在线观看| 热久久免费国产视频| 欧美亚洲视频在线观看| 亚洲人成网站免费播放| 亚洲日本中文字幕免费在线不卡| 国产精品一久久香蕉国产线看观看| 欧美人与性动交| 欧美中文在线字幕| 欧美日韩视频免费播放| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲xxxx3d| 亚洲精品成人久久电影| 不用播放器成人网| 欧美成人性生活| 热久久免费视频精品|