選択が有効になっているグリッドビューがあり、その下に、選択したレコードの完全な情報を表示するのを待っているフォームビューでユーザーを別のページに移動させるボタンも追加しました。ID をクエリ文字列として渡し、他のページの sqldatasource で使用するにはどうすればよいですか?
私のグリッドビューは
ID
Name
フォームビューが表示されます
ID
Name
Description
Uploader
Audience
Category
選択が有効になっているグリッドビューがあり、その下に、選択したレコードの完全な情報を表示するのを待っているフォームビューでユーザーを別のページに移動させるボタンも追加しました。ID をクエリ文字列として渡し、他のページの sqldatasource で使用するにはどうすればよいですか?
私のグリッドビューは
ID
Name
フォームビューが表示されます
ID
Name
Description
Uploader
Audience
Category
使用できます<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 : データ バインド コントロールでハイパーリンクとして表示されるフィールドを表します。
選択した行から値を取得し、ポストバックでリダイレクトできます。
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]));
編集:別の回答への回答を見てから:
選択した行が送信機能にも表示されるはずだと確信しています。