Gridview问题C#

时间:2011-06-22 00:52:53

标签: c# asp.net

所以我的gridview有两列BookID和BookName如何根据这个事件检索BookID的值?

   protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e)

我遇到的另一个问题是,当我在第四个标签中时,我的应用程序有Tabs(使用Telerik),这是我的gridview,我点击任何按钮,它回发并发送给第一个标签..我该怎么控制呢?

非常感谢:)

ASP代码

<asp:GridView ID="myGridView" ShowFooter="true" ShowHeader="true" CaptionAlign="Left"
                                    runat="server" ForeColor="Black" CellPadding="4" AutoGenerateColumns="False"
                                    CssClass="Grid" Width="100%" GridLines="None" OnRowCommand="myGridView_RowCommand" 
                                    AllowPaging="True" AllowSorting="true" OnPageIndexChanging="myGridView_PageIndexChanging" PageSize="50" OnSorting="myGridView_Sorting" >
                                    <Columns>
                                        <asp:TemplateField HeaderText="ID">
                                            <ItemTemplate>
                                                <asp:Label runat="server" ID="lblBookID" Text='<%#DataBinder.Eval(Container.DataItem,"ID")%>' />
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                        <asp:BoundField DataField="name" HeaderText="Book Name" SortExpression="Name" />
                                        <asp:TemplateField>
                                            <ItemTemplate>
                                                <asp:Button ID="Delete" Text="Remove" CommandArgument='<%# Eval("ID") %>'
                                                    CommandName="RemoveItem" CssClass="Button" runat="server" OnClientClick="javascript:return confirm('Sure you dont need this book.?');" />
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                    </Columns>
                                    <EmptyDataTemplate>
                                        No Books found
                                    </EmptyDataTemplate>
                                    <RowStyle CssClass="RowStyle" />
                                    <HeaderStyle CssClass="HeaderStyle" ForeColor="White" HorizontalAlign="Center" />
                                    <AlternatingRowStyle CssClass="AlternatingRowStyle" />
                                    <FooterStyle CssClass="FooterStyle" />
                                </asp:GridView>     

1 个答案:

答案 0 :(得分:0)

如果您使用CommandArgument值并将其设置为TemplateFieldBookId值,则OnRowCommand可以在事件处理程序中使用该值。< / p>

这样的事情应该可以解决问题。

<强> ASPX:

<asp:GridView ID="myGridView" runat="server" onrowcommand="myGridView_RowCommand">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="myLinkButton" runat="server" CommandArgument='<%#Eval("BookId") %>'>Do Stuff</asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField HeaderText="Id" DataField="BookId" />
        <asp:BoundField HeaderText="Name" DataField="BookName" />
    </Columns>
</asp:GridView>

C#代码隐藏:

protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
    int bookID = Convert.ToInt32(e.CommandArgument);
    // Do Stuff
}

使用Telerik RadTabStrip

选择特定标签时

查看此帖子How to change progmatically active Tab in RadTabStrip/RadMultiPage? - TabStrip Forum - ASP.NET Controls

看起来要设置Selected的{​​{1}}属性,如果您使用TabItem,则还需要设置MultiPage控制

SelectedIndex