Member 12603626 Ответов: 0

Выделена ячейка 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, который не был заменен на кнопку

0 Ответов