91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JQuery與GridView控件結合示例

發布時間:2020-06-02 21:46:44 來源:網絡 閱讀:541 作者:guwei4037 欄目:web開發

JQuery是一種非常強大的客戶端JS編程技術,這里不想過多闡述它的相關背景知識,只想簡單演示一下如何與asp.net的控件結合開發。

比如,我們要做一個下面如圖所示的功能,效果是狀態、編號、數字1、數字2、平均值所有的項都是通過后臺綁定,如何點擊checkbox按鈕,來實現自動計算當前行兩個數字的平均值呢?前提是用JQuery來實現?

JQuery與GridView控件結合示例

我們直接在頁面的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="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="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   value="獲取" /></td>
  </tr> 
  <tr>
   <td>2</td>
   <td><input type=text  value="數據2" /></td>
   <td><input type=button   value="獲取" /></td>
  </tr> 
</table>
</body>
</html>

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平果县| 南通市| 蕲春县| 桦南县| 孝昌县| 阳江市| 巫溪县| 永州市| 凤冈县| 简阳市| 郴州市| 昌图县| 长顺县| 伊春市| 贞丰县| 繁昌县| 墨玉县| 潜江市| 工布江达县| 克山县| 富源县| 左云县| 高安市| 华蓥市| 乐亭县| 五台县| 凤阳县| 神农架林区| 福泉市| 文山县| 临沧市| 广东省| 沂南县| 阜阳市| 馆陶县| 杂多县| 龙州县| 砀山县| 台江县| 阿鲁科尔沁旗| 永春县|