zoukankan      html  css  js  c++  java
  • GridView里面模板获取唯一值(如ID)

    我的习惯一般都是用BUTTONFIELD或者COMMANDFIELD,用rowcommand事件,或者selectindexchange事件

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
           if (e.commandName = "....")
               {
                int i = Convert.toint32(e.CommandArgument.ToString()); //获取行号
                LinkButton lbt1 = ((LinkButton)GridView1.Rows.Cells[0].FindControl("LinkButton1"));
                string id = ((Label)GridView1.Rows.Cells[0].FindControl("ID")).Text;//ID绑定在一个Label上
               }
    }
    或者用COMMANDFIELD里面的选择
            protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                LinkButton lbt1 = ((LinkButton)GridView1.SelectedRow.Cells[0].FindControl("LinkButton1")); //SelectedRow获取行号,选择才能用
                string id = ((Label)GridView1.SelectedRow.Cells[0].FindControl("ID")).Text;//ID绑定在一个Label上
            }
    GV在布局里面用的话只能用<asp:TemplateField>里面的<Template>然后就在里面绑定数据
    .aspx:
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BorderStyle="None"
                                BorderWidth="0px"
                                onrowcommand="GridView1_RowCommand" AllowPaging="True"
                onpageindexchanged="GridView1_PageIndexChanged" PageSize="6">
            <Columns>
                <asp:TemplateField>
                <ItemTemplate>
                <div class="mrt2">
       <ul>
       <li><p class="w542px2"><span>·</span>
                <asp:Label ID="ID" runat="server" Text='<%# Bind("Id") %>' Visible="false"></asp:Label>
                <asp:Label ID="Title_lbe" runat="server" Text='<%# Bind("Title") %>'></asp:Label>
                <asp:Label ID="Class_lbe" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                </p>
                <p class="w135px"><span class="caozuo marglt24px caozuobg1"><span><a href="Article_mod_up.aspx?id=<%# Eval("Id") %>">编辑</a></span></span>
                <span class="caozuo caozuobg2"><span><a href="#">
                    <asp:LinkButton ID="LinkButton1"
                    runat="server" CommandName="del" CommandArgument='<%# Eval("Id") %>' >删除</asp:LinkButton></a></span></span></p></li>
                </ul>
          </div>
                </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            </asp:GridView>

    .CS:
    protected void GridView1_RowCommand(object sender, CommandEventArgs e)
            {
                if (e.CommandName == "del")
                {
                    string id = e.CommandArgument.ToString();
                }
            }
    简短有力,和传统的获取行号法很像,但是快多了,区别在于一个是获取GV内置控件的属性,一个是自己给CommandArgument赋值
  • 相关阅读:
    【数论】【快速幂】【扩展欧几里得】【BSGS算法】bzoj2242 [SDOI2011]计算器
    【数论】【ex-BSGS】poj3243 Clever Y
    【数论】【扩展欧几里得】hdu3579 Hello Kiki
    【CCpp程序设计2017】推箱子游戏
    【Miller-Rabin算法】
    【数论】nefu119 组合素数
    【数论】nefu118 n!后面有多少个0
    【树形dp】vijos P1180 选课
    【树形dp】Codeforces Round #405 (rated, Div. 1, based on VK Cup 2017 Round 1) B. Bear and Tree Jumps
    【树形dp】VK Cup 2012 Round 1 D. Distance in Tree
  • 原文地址:https://www.cnblogs.com/405464904/p/1533934.html
Copyright © 2011-2022 走看看