我有一个启用选择的gridview,我还在其下添加了一个按钮,该按钮应该将用户带到另一个带有formview的页面,等待显示所选记录的完整信息。如何将ID作为查询字符串传递并在另一页的sqldatasource中使用它?
我的gridview有
ID
Name
表单视图将显示
ID
Name
Description
Uploader
Audience
Category
答案 0 :(得分:2)
您可以使用<asp:HyperLinkField>
。
例如:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="ID"
DataNavigateUrlFormatString="/detailsPage.aspx?id={0}"
DataTextField="ID" HeaderText="ID" />
</Columns>
</asp:GridView>
参见:
HyperLinkField Class:表示在数据绑定控件中显示为超链接的字段。
答案 1 :(得分:1)
您可以从所选行中获取值,并在回发后重定向。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.selectedrow.aspx
Sub CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim row As GridViewRow = CustomersGridView.SelectedRow
Response.redirect(String.Format("detailsPage.aspx?id={0}", row.cells(x).text))
End Sub
void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
{
GridViewRow row = CustomersGridView.SelectedRow;
Response.Redirect(String.Format("detailsPage.aspx?id={0}", row.cells[x].text));
}
其中x是包含ID的单元格
在假定存储过程的详细信息页面上:
Dim aSource As New SqlDataSource
aSource.ConnectionString = {your connection string})
aSource.ProviderName = "System.Data.SqlClient"
aSource.SelectCommand = {Your stored procedure name}
aSource.SelectCommandType = SqlDataSourceCommandType.StoredProcedure
aSource.SelectParameters.Add(New System.Web.UI.WebControls.Parameter("ID", Data.DbType.String, Request.QueryString(0)))
SqlDataSource aSource;
aSource.ConnectionString = {your connection string});
aSource.ProviderName = "System.Data.SqlClient";
aSource.SelectCommand = {Your stored procedure name};
aSource.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
aSource.SelectParameters.Add(New System.Web.UI.WebControls.Parameter("ID", Data.DbType.String, Request.QueryString[0]));
编辑:从看到你对另一个答案的回答:
我相当确定所选行也应该对您的提交功能可见。