成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? 實例詳解jQuery結合GridView控件的使用方法
全站頭部文字 我要出現在這里
實例詳解jQuery結合GridView控件的使用方法 598 2024-03-15   

jQuery是一種非常強大的客戶端JS編程技術,這里不想過多闡述它的相關背景知識,只想簡單演示一下如何與asp.net的控件結合開發。
比如,我們要做一個下面如圖所示的功能,效果是狀態、編號、數字1、數字2、平均值所有的項都是通過后臺綁定,如何點擊checkbox按鈕,來實現自動計算當前行兩個數字的平均值呢?前提是用jQuery來實現?

查看圖片

我們直接在頁面的Page_Load事件中輸入如下代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
  if (!Page.IsPostBack) 
  { 
    DataTable dt = new DataTable(); 
    dt.Columns.AddRange(new DataColumn[] {  
      new DataColumn("id",typeof(Int32)), 
      new DataColumn("num1",typeof(Int32)), 
      new DataColumn("num2",typeof(Int32)) 
    }); 
 
    DataRow dr = null; 
    dr = dt.NewRow(); 
    dr["id"] = 1; 
    dr["num1"] = 20; 
    dr["num2"] = 40; 
    dt.Rows.Add(dr); 
 
    dr = dt.NewRow(); 
    dr["id"] = 2; 
    dr["num1"] = 40; 
    dr["num2"] = 30; 
    dt.Rows.Add(dr); 
 
    this.GridView1.DataSource = dt.DefaultView; 
    this.GridView1.DataBind(); 
  } 
} 

前臺頁面body部分:

<body> 
  <form id="form1" runat="server"> 
    <div> 
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
        <Columns> 
          <asp:TemplateField HeaderText="狀態"> 
            <ItemTemplate> 
              <asp:CheckBox ID="checkstate" runat="server" /> 
            </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="編號"> 
            <ItemTemplate> 
              <asp:Label ID="lblId" runat="server"> <%#Eval("id") %></asp:Label> 
            </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="數字1"> 
            <ItemTemplate> 
              <asp:Label ID="lblNum1" runat="server"> <%#Eval("num1") %></asp:Label> 
            </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="數字2"> 
            <ItemTemplate> 
              <asp:Label ID="lblNum2" runat="server"> <%#Eval("num2") %></asp:Label> 
            </ItemTemplate> 
          </asp:TemplateField> 
          <asp:TemplateField HeaderText="平均值"> 
            <ItemTemplate> 
              <asp:TextBox ID="avg_value" runat="server" /> 
            </ItemTemplate> 
          </asp:TemplateField> 
        </Columns> 
      </asp:GridView> 
    </div> 
  </form> 
</body> 


關鍵的在頁面的head部分,輸入如下代碼就可以實現如圖效果了。

<script src="http://www.gimoo.net/t/1904/js/jquery-1.4.2.js"></script> 
<script type="text/javascript"> 
  $(function () { 
    $("#<%=GridView1.ClientID%>").find("tr td input[type=checkbox]").each(function () { 
      $(this).bind("click", function () { 
        if (this.checked) { 
          var id = $(this).parent().parent().find("span[id*=lblId]").text(); 
          var num1 = $(this).parent().parent().find("span[id*=lblNum1]").text(); 
          var num2 = $(this).parent().parent().find("span[id*=lblNum2]").text(); 
 
          var result = (parseFloat(num1) + parseFloat(num2)) / 2; 
          $(this).parent().parent().find("input[id*=avg_value]").val(result); 
        } else { 
          $(this).parent().parent().find("input[id*=avg_value]").val(""); 
        } 
      }); 
    }); 
  }); 
</script> 


你會發現jQuery的代碼讀著很輕松,很容易理解。而且代碼也很優美,最關鍵的是兼容性很好。
再附一個簡單點的例子,這是一個靜態html頁面,看jQuery是如何發揮威力的。效果是點擊每一行的按鈕時,彈出當前行的text里面的value。

<html> 
<head> 
<script type="text/javascript" src="http://www.gimoo.net/t/1904/jquery-1.4.2.js"></script> 
 <script type="text/javascript"> 
    $(function(){ 
      $("table tr td").each(function(){ 
        $(this).find("[type=button]").click(function(){ 
          alert($(this).parent().parent().find("[type=text]").val()); 
        }); 
      }); 
    }); 
 </script> 
</head> 
<body> 
<table>  
 <tr>  
  <td>1</td> 
  <td><input type=text value="數據1" /></td> 
  <td><input type=button onclick="GetTest()" value="獲取" /></td> 
 </tr>  
 <tr> 
  <td>2</td> 
  <td><input type=text value="數據2" /></td> 
  <td><input type=button onclick="GetTest()" value="獲取" /></td> 
 </tr>  
</table> 
</body> 
</html> 

試想,如果我們用js去做,將會很麻煩,而且還要考慮各種瀏覽器的兼容性。看到這里不得不感嘆一句,jQuery雖然短小,但是相當強大啊。



主站蜘蛛池模板: 韩国一级免费| 性感美女动漫| 电影一对一| 荆棘花| 影子人| 妙探出差3| 潇洒的走简谱| 少妇bbbbbbb| 难忘的运动会作文| 龙岭迷窟演员表| 我们的快乐人生 电视剧| 醉翁亭记理解性默写及答案| 祖卡尔| 美娜个人资料简介| 我未成年 电影| 天堂真的存在| 译制片《桥》| 哥谭演员表| 100条谐音歇后语| 女王眼泪| 猎兽神兵免费全集在线观看高清版| 实用咒语大全| 小镇追凶电影在线观看| 火船 电影| 美女亲热视频| 境界千年血战篇| 二年级第一单元测试卷数学| 父子刑警| 67pp| www.五月天| 石隽| 02j331| 电影《白月光》在线观看免费 | 花有重开日电影| 金旭| tvb翡翠台直播| 王思聪是谁| 珊特尔·范圣滕| 约翰尼·西蒙斯| 281封信电视剧演员表| 《密爱》|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103