У меня есть GridView, который я заполняю данными из моей базы данных. Данные отображаются отлично. Моя проблема в том, что я хочу иметь возможность щелкнуть строку и затем отобразить информацию, которая находится в этой строке в другом месте (в конце концов у меня будет разделительный экран для удобного форматирования выбранных данных). Выбор работает, потому что он выделяет текущую строку. Тем не менее, я не могу понять, как отображать эти данные в другом месте. Сейчас я пытаюсь отобразить содержимое одной ячейки в метке с именем testLabel. Я пробовал много разных методов, и testLabel никогда не обновляется, когда я щелкаю новую строку. Кто-нибудь может увидеть, что здесь происходит не так?
C #
protected void DefaultGrid_SelectedIndexChanged(Object sender, EventArgs e)
{
GridViewRow row = DefaultGrid.SelectedRow;
testLabel.Text = row.Cells[2].Text;
}
ASPX
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID = "ScriptManager" runat="server" />
<div>
<div>
<asp:Label runat="server" id = "orderByLabel" Text = "Order By: " />
<asp:DropDownList runat="server" ID="orderByList" AutoPostBack="true">
<asp:ListItem Value="fName" Selected="True">First Name</asp:ListItem>
<asp:ListItem Value="lName">Last Name</asp:ListItem>
<asp:ListItem Value="state">State</asp:ListItem>
<asp:ListItem Value="zip">Zip Code</asp:ListItem>
<asp:ListItem Value="cwaSource">Source</asp:ListItem>
<asp:ListItem Value="cwaJoined">Date Joined</asp:ListItem>
</asp:DropDownList>
</div>
<div>
<asp:Label runat="server" ID="searchLabel" Text="Search For: " />
<asp:TextBox ID="searchTextBox" runat="server" Columns="30" />
<asp:Button ID="searchButton" runat="server" Text="Search" />
</div>
<div align="center">
<asp:UpdatePanel ID = "up" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID = "orderByList"
EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlId="searchButton" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="DefaultGrid" runat = "server" DataKeyNames = "fName"
onselectedindexchanged = "DefaultGrid_SelectedIndexChanged"
autogenerateselectbutton = "true"
selectedindex="0">
<SelectedRowStyle BackColor="Azure"
forecolor="Black"
font-bold="true" />
<Columns>
<asp:ButtonField CommandName="Select" Visible="false" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div>
<asp:Label runat="server" ID="testLabel" Text="test" />
</div>
</form>
</body>
</html>