Выделена ячейка gridview, которая несколько раз меняет источник данных во время выполнения
Я хочу выбрать первую ячейку строки, где записан идентификатор, который я могу легко взять с помощью этого кода в первый раз.
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { GridView1.DataBind(); GridViewRow row = GridView1.SelectedRow; string strCell = row.Cells[1].Text; string myPageUrl = "Meci.aspx?ID=" + strCell; Response.Redirect(myPageUrl); }
Но у меня есть метка, где она записывает текущую дату, и это ControlParameter для источника данных gridview, и когда вы выбираете дату из другой метки и нажимаете на кнопку текст метки, он изменяется в этой дате, если я изменяю эту метку, когда я хочу выбрать идентификатор из gridview с новыми данными, мой метод выбирает идентификатор первого gridview или дает индекс ошибки был вне диапазона, когда новый gridview имеет больше строк, чем первый. как я могу изменить свой код, чтобы иметь возможность выбрать этот идентификатор при изменении даты?
Что я уже пробовал:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Conexiune %>" SelectCommand="SELECT Meci.Id_meci, Campionat.Campionat, Campionat.Editia, Meci.Etapa, Meci.Gazda, Meci.Scor, Meci.Oaspete, Meci.Ora FROM Meci INNER JOIN Campionat ON Meci.Id_campionat = Campionat.Id_campionat WHERE (Meci.Data = @data) ORDER BY Campionat.Campionat, Campionat.Editia, Meci.Ora, Meci.Gazda"> <SelectParameters> <asp:ControlParameter ControlID="Label1" Name="data" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource>
protected void Page_Load(object sender, EventArgs e) {string data; data = Convert.ToString(DateTime.Today.Year) + "-0" + Convert.ToString(DateTime.UtcNow.Month) + "-" + Convert.ToString(DateTime.UtcNow.Day); string luna = Convert.ToString(DateTime.UtcNow.Month); if (luna == "10") data = Convert.ToString( DateTime.Today.Year)+"-"+ Convert.ToString( DateTime.UtcNow.Month )+"-"+ Convert.ToString( DateTime.UtcNow.Day); if (luna == "11") data = Convert.ToString(DateTime.Today.Year) + "-" + Convert.ToString(DateTime.UtcNow.Month) + "-" + Convert.ToString(DateTime.UtcNow.Day); if (luna == "12") data = Convert.ToString(DateTime.Today.Year) + "-" + Convert.ToString(DateTime.UtcNow.Month) + "-" + Convert.ToString(DateTime.UtcNow.Day); Label1.Text = data; GridView1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { Label1.Text = T_data.Text; GridView1.DataBind(); } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { GridView1.DataBind(); GridViewRow row = GridView1.SelectedRow; string strCell = row.Cells[1].Text; string myPageUrl = "Meci.aspx?ID=" + strCell; Response.Redirect(myPageUrl); }
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Я не понимаю. В чем именно заключается проблема?
Member 12603626
Если я использую button1, текст метки, который является ControlParameter, изменится, и gidview будет иметь другие данные, и я хочу, когда я нажимаю select на этом новом gridview, чтобы выбрать строку формы id, выбранную тем, кто находится в ячейке 1, но aspx.net дайте мне удостоверение личности для gridviw, который не был заменен на кнопку