gridview链接到详细信息页面

时间:2012-03-01 15:04:18

标签: asp.net gridview hyperlink

我要做的是创建一个Gridview,并在网格中有HyperLinkField它将我发送到该项目的详细信息页面,我的部分填充了网格和链接以及如何将元素的id传递给另一个页面

我遇到的问题是,当我运行并点击链接时,会显示我想要的详细信息页面,但该页面是空白的。当我调试时,我没有到达详细信息页面

这是我的代码

填充网格

var datos =  db.Ticket   
        GridView1.DataSource = datos;
        GridView1.DataBind();

显示GridView

<asp:GridView ID="GridView1" runat="server">
   <Columns>

      <asp:HyperLinkField HeaderText="Ver Ticket" Text="Ir Historial Ticket" DataNavigateUrlFormatString="~/DetailTicket.aspx?id={0}" DataNavigateUrlFields="IdTicket" />
   </Columns>

</asp:GridView>

详细信息页面

public partial class DetailTicket: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["id"] != null)
           var id= Request.QueryString["id"];
        var datos =  db.detailTicket.Where(e=>e.IdTicket==id)   
        GridView1.DataSource = datos;
        GridView1.DataBind();
    }
}

2 个答案:

答案 0 :(得分:2)

嘿,这可能与你的道路有关......

我已经测试了你的代码,并且我的工作正常......

答案 1 :(得分:0)

您在if事件的Page_Load语句中缺少括号。

protected void Page_Load(object sender, EventArgs e)
{

  if (Request.QueryString["id"] != null)
  {
       var id= Request.QueryString["id"];
       var datos =  db.detailTicket.Where(e=>e.IdTicket==id)   
       GridView1.DataSource = datos;
       GridView1.DataBind();
  }
}

如果没有方括号,则下一行将不会知道您的id变量。如果它甚至可以编译,我会感到惊讶。