大师们,
在我对Gridview:TemplateField的查询之后
我有一个带有 ButtonField 的 gridview。我想根据页面加载时的用户类型更改文本。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Trim(Request.QueryString("Msg")) <> "" Then
            If InStr(Request.QueryString("Msg"), "<") > 0 Then
                Response.Write(Mid(Request.QueryString("Msg"), 1, InStr(Request.QueryString("Msg"), "<")))
            Else
                Response.Write(Request.QueryString("Msg"))
            End If
        End If
        If Page.IsPostBack = False Then
            Dim sSeries As String
            sSeries = "Aim NBDE Part 1"
            Dim o_cmd As SqlCommand
            Dim o_reader As SqlDataReader
            o_Con = New SqlConnection(GlobalVarC.DataS)
            o_Con.Open()
            Dim ds As New Data.DataSet
            Dim da As SqlDataAdapter
            Dim ExamId As String
            S_Sql = "SELECT SNo from Exam_Ser where Series='" & sSeries.ToString & "'"
            o_cmd = New SqlCommand(S_Sql, o_Con)
            o_reader = o_cmd.ExecuteReader
            ExamId = ""
            Dim ExamIdTmp As String
            While o_reader.Read
                If ExamId.Equals("") Then
                    ExamId = ExamId + "SNo = "
                Else
                    ExamId = ExamId + " OR SNo = "
                End If
                ExamIdTmp = o_reader(0).ToString
                ExamId = ExamId + ExamIdTmp
                ExamId = ExamId + ""
            End While
            o_reader.Close()
            o_cmd.Dispose()
            S_Sql = "SELECT Name from Exam where " & ExamId.ToString
            da = New SqlDataAdapter(S_Sql, o_Con)
            da.Fill(ds)
            GridSubject.DataSource = ds
            GridSubject.DataBind()
            da.Dispose()
            ds.Dispose()
            o_Con.Close()
            For Each row As GridViewRow In GridSubject.Rows
                Dim button As Button
                button = DirectCast(row.FindControl("idAppearButton"), Button)
                button.Text = "Buy"
            Next
        End If
    End Sub
我可以对按钮单击执行操作GridSubject_SelectedIndexChanged。
我正在尝试从 Gridview 获取按钮来更改文本。我尝试了一些搜索,并找到了控制从“GridSubject_SelectedIndexChanged”单击按钮但不是在页面加载时控制按钮的方法。
如果我能获得有关如何在页面加载时获取 ButtonField CommandName="ViewResults") 句柄的指针,那将非常有帮助。
                   <asp:ButtonField ButtonType="Button" CommandName="ViewResults" Text="Results" >
                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Top"  />
                    </asp:ButtonField>
<div id="gridViewId" align="center">
    <asp:GridView ID="GridSubject" runat="server" AutoGenerateColumns="False" CellPadding="3" 
                        OnSelectedIndexChanged="GridSubject_SelectedIndexChanged" BackColor="#CCCCCC"
                        BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
        Width="714px" GridLines="Horizontal"
                         >
                        <EditRowStyle Font-Names="Calibri" />
                        <EmptyDataRowStyle Font-Names="Calibri" />
                        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" Font-Names="Calibri" />
                        <AlternatingRowStyle BackColor="#F7F7F7" Font-Names="Calibri" />
                        <Columns >
                            <asp:BoundField DataField="Name" HeaderText="Exam Name">
                                <ItemStyle Width="140px" HorizontalAlign="Left" VerticalAlign="Top" />
                                <HeaderStyle HorizontalAlign="Left" />
                            </asp:BoundField>
                            <asp:TemplateField ItemStyle-Width="100px">
                                <ItemTemplate>
                                    <asp:RadioButtonList ID="RadioButtonList1" runat="server">
                                        <asp:ListItem Value="0">Part 1</asp:ListItem>
                                        <asp:ListItem Value="1">Part 2</asp:ListItem>
                                        <asp:ListItem Selected="True" Value="3">Part 1 & 2</asp:ListItem>
                                    </asp:RadioButtonList>
                                </ItemTemplate>
                                <FooterStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Left" />
                                <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                            </asp:TemplateField>
                            <asp:TemplateField ShowHeader="False">
                                <ItemTemplate>
                                    <asp:Button ID="idAppearButton" runat="server" 
                                     CommandName="MYCOMMAND" Text="Appear">
                                    </asp:Button>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:ButtonField ButtonType="Button" CommandName="ViewResults" Text="Results" >
                                        <HeaderStyle HorizontalAlign="Center" VerticalAlign="Top"  />
                            </asp:ButtonField>
                            <asp:TemplateField HeaderText="Status">
                            <ItemTemplate>
                            <asp:Label runat="server" Text="Not Completed"></asp:Label>
                            </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <RowStyle BackColor="#E7E7FF" ForeColor="#000000" Font-Names="Calibri" />
                        <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" 
                            Font-Names="Cambria" />
                        <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" 
                            Font-Names="Calibri" />
                        <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="#F7F7F7" />
                        <SortedAscendingCellStyle BackColor="#F1F1F1" />
                        <SortedAscendingHeaderStyle BackColor="#808080" />
                        <SortedDescendingCellStyle BackColor="#CAC9C9" />
                        <SortedDescendingHeaderStyle BackColor="#383838" />
<SortedAscendingCellStyle BackColor="#F4F4FD"></SortedAscendingCellStyle>
<SortedAscendingHeaderStyle BackColor="#5A4C9D"></SortedAscendingHeaderStyle>
<SortedDescendingCellStyle BackColor="#D8D8F0"></SortedDescendingCellStyle>
<SortedDescendingHeaderStyle BackColor="#3E3277"></SortedDescendingHeaderStyle>
                    </asp:GridView>
                    </div>