我要做的是创建一个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();
}
}
答案 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
变量。如果它甚至可以编译,我会感到惊讶。