C# 如何使用将存储在querystring变量中的一个属性导航到book_detail.aspx页面
我创建了一个图书详细信息页面,显示图书封面图片、书名、作者、isbn号等 book_all.aspxC# 如何使用将存储在querystring变量中的一个属性导航到book_detail.aspx页面,c#,asp.net,query-string,aspxgridview,C#,Asp.net,Query String,Aspxgridview,我创建了一个图书详细信息页面,显示图书封面图片、书名、作者、isbn号等 book_all.aspx 我希望下面的例子能对你有所帮助。这是我的一个项目的摘要,它做的事情和你需要的一样 作为大纲,您必须执行以下步骤: 在GridView中,创建一个TemplateField,其中包含导航到其他页面的链接(linkButton或imageButton或Button) 设置该链接控件的CommandArgument和CommandName属性 在C#代码中,处理gridView的RowCommand
我希望下面的例子能对你有所帮助。这是我的一个项目的摘要,它做的事情和你需要的一样 作为大纲,您必须执行以下步骤:
- 在GridView中,创建一个TemplateField,其中包含导航到其他页面的链接(linkButton或imageButton或Button)
- 设置该链接控件的CommandArgument和CommandName属性
- 在C#代码中,处理gridView的RowCommand事件
- 根据commandName和commandArgument导航到其他页面
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" OnRowCommand="gv_RowCommand"
EmptyDataText="No record found" Width="1000px">
<Columns>
<asp:BoundField DataField="ISBN" />
<asp:BoundField DataField="Title" HeaderText="Title"/>
.
.
.
.
.
<asp:TemplateField HeaderText="Actions">
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CommandArgument='<%# Eval("ISBN") %>'
CommandName="viewDetails">View Details</asp:LinkButton> </ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
您需要在gridview中为“查看书籍详细信息”创建一个自定义列,并使用EventArgs,您可以使用isbnno的querystring导航到详细信息页面。非常感谢您
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data.SqlClient;
public partial class book_all : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void detail_click(object sender, EventArgs e)
{
Response.Redirect("book_detail.aspx?IsbnNo="+GridView1.FindControl("isbn").ToString());
}
}
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" OnRowCommand="gv_RowCommand"
EmptyDataText="No record found" Width="1000px">
<Columns>
<asp:BoundField DataField="ISBN" />
<asp:BoundField DataField="Title" HeaderText="Title"/>
.
.
.
.
.
<asp:TemplateField HeaderText="Actions">
<ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CommandArgument='<%# Eval("ISBN") %>'
CommandName="viewDetails">View Details</asp:LinkButton> </ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
// ensure that commandArgument is not null, which may happen when someone tries to hack the page
string isbn = e.CommandArgument.ToString();
if (string.IsNullOrEmpty(uid))
{
// error message, someone has tried to hack the web page
return;
}
if (e.CommandName == "viewDetails")
{
Response.Redirect("book-details.aspx?isbn=" + isbn);
return;
}
// handle any other command that may be there (like delete, edit, etc)
}