选择网格视图行/单元格错误"input string was not in correct format"



>我设置了网格视图,用户可以在其中"选择"他们想要的行,而该行又应该通过数据库并重定向它们。但是,当我为任何给定的结果行单击"选择"时,我在此行收到错误"输入字符串格式不正确":myEvent.EventID = Convert.ToInt32(row。细胞[0]。文本); 我把这件拿出来,我得到错误,里面有转换。所以我知道它写得不正确,但我不确定如何写它。任何帮助都会很棒!

对不起,我是新手!

我的 girdview 代码:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Event myEvent = new Event();
        GridViewRow row = GridView1.SelectedRow;
        myEvent.EventID = Convert.ToInt32(row.Cells[0].Text);
        myEvent.Sport = row.Cells[1].Text;
        myEvent.EventName = row.Cells[2].Text;
        myEvent.Section = Convert.ToInt32(row.Cells[3].Text);
        myEvent.TicketsAvailable = Convert.ToInt32(row.Cells[4].Text);
        myEvent.EventDate = Convert.ToDateTime(row.Cells[5].Text);
        Session["myEvent"] = myEvent;
        Response.Redirect("Complete.aspx");
    }

我的事件代码,以防您还需要它:

public class Event
{
    public int EventID { get; set; }
    public string EventName { get; set; }
    public string Sport { get; set; }
    public int Section { get; set; }
    public int TicketsAvailable { get; set; }
    public DateTime EventDate { get; set; }
}

只需检查天气,您正在转换的值不为空。 尝试调试代码并检查您从该特定行中获取的值是什么。

另一件事是,如果您在网格视图中创建了生成的选择按钮,则该选择按钮的位置位于网格视图的 0 单元格处。 因此,您可以像这样尝试代码。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Event myEvent = new Event();
        GridViewRow row = GridView1.SelectedRow;
        myEvent.EventID = Convert.ToInt32(row.Cells[1].Text);
        myEvent.Sport = row.Cells[2].Text;
        myEvent.EventName = row.Cells[3].Text;
        myEvent.Section = Convert.ToInt32(row.Cells[4].Text);
        myEvent.TicketsAvailable = Convert.ToInt32(row.Cells[5].Text);
        myEvent.EventDate = Convert.ToDateTime(row.Cells[6].Text);
        Session["myEvent"] = myEvent;
        Response.Redirect("Complete.aspx");
    }

相关内容

最新更新