ASP.NETのGridview
のデータ行を、前のページの行データの内容を表示する2番目のページに解析したいとします。私のGridview
はすでにデータベースにリンクされています。C#とASP.NETを使用してGridview行から別のページにデータを解析する方法
私の現在のGridview
は、このようなものになります。私は、送信内容のハイパーリンクをクリックしたときにこれを達成したいと思い
:
私が上でクリックした場合を2行目その行のデータは次のページに表示されます
次のコードは、私は私のリンクボタンItemTemplateに下入れていたものです:
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("name") %>'></asp:Label>
<asp:LinkButton ID="viewTours" runat="server" CommandName="view" CommandArgument='<%# Bind("name") %>' PostBackUrl='<%#"~/details.aspx?RowIndex=" + Container.DataItemIndex %>'>View</asp:LinkButton>
</ItemTemplate>
これは私がからデータをロードする2番目のページから私のページの読み込み方法です。
protected void Page_Load(object sender, EventArgs e)
{
if (this.Page.PreviousPage != null)
{
int rowIndex = int.Parse(Request.QueryString["RowIndex"]);
GridView GridView = (GridView)this.Page.PreviousPage.FindControl("GridView");
GridViewRow row = GridView.Rows[rowIndex];
name.Text = (row.FindControl("name") as Label).Text;
//name.Text = row.Cells[0].Text; (this did not work either, i got the same error)
}
}
私はそれは私が私のhtml(第2)ページのデザインビューでid名とラベルを持っているにもかかわらず、存在しないことを言っ名.textに波線を取得しますが。
選択したGridview行のデータを別のページに解析できるようにするにはどうすればよいですか?私が2番目のページをカスタマイズし、私が好きな場所にラベルを置くことができると仮定します。
これは私のgridviewのコードです。私のバインドはUIを通して行われているので、選択されたグリッドビューの行を別のページにリダイレクトすることを除いて、多くのコードはありません。
protected void GridView_SelectedIndexChanged(object sender, EventArgs e)
{
Session["tour"] = GridView;
Response.Redirect("tourDetails.aspx");
}
実際にページ自体に存在する場合、ラベルテキストが存在しないというエラーが表示されます。
マイラベルにrunat = "server" を含まれています:
に
を変更しますヌル。正しい名前を使用していますか? 'FindControl'指定されたidパラメータを検索します。ラベルIDは "Label1"です。 –
ここに私のラベルIDは、グリッドビューの最初のページからです、私はラベルID "名前"を持っている私の2番目のページに選択したgridview行データをロードしようとしています – depressedGirl
[ Webフォーム](https://msdn.microsoft.com/en-us/library/6c3yckfw.aspx)をクリックすると、uncool one、imoを選択します。 –