【发布时间】:2025-12-11 09:50:01
【问题描述】:
我要做的是创建一个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();
}
}
【问题讨论】:
-
你调试过代码吗?你会得到哪个值 Request.QueryString["id"]
-
(但问题是当我调试它时也没有到达 page_load )你检查你的 url ...它对我工作正常并触发加载事件
-
我调试的是我的 DetailTicket 的页面加载,在我点击链接后它没有到达它显示页面localhost:2509/DetailTicket.aspx?id=1
-
在 mvc 中我确实喜欢这个 @Html.ActionLink("detail ticket", "index", new { id = item.IdTicket}) 在我的页面中只是 public ActionResult Index(int?id) {}
-
该网址直接进入浏览器并检查您的事件是否被触发
标签: asp.net gridview hyperlink