workerID というテーブルから行を返す Gridview コントロールがあります。一度に 10 行を返し、ページングを許可します。私がやりたいことはHiddenField
、Gridview 内のテンプレートに配置することです。Gridview コントロールから に値を割り当てるかバインドしたいと考えていHiddenField
ます。バインドしたい値は workerID です。
次に、渡される値を探しているフォームフィールドパラメータをHiddenField
持つ別のページに、に割り当てられた値を送信できるようにしたいと考えています。これを行うために、非表示フィールドの横にあるアイテム テンプレート フィールドにも送信ボタンを配置します。私の仮定では、送信ボタンは各行の値を 2 番目のページに投稿して、フォームフィールド パラメーター (Hiddenfield1) を受け取ることになると想定しています。SqlDataSource
HiddenField
HiddenField
私の仮定は間違っていると思います。さらにコーディングや作業が必要です。要約すると、GridView コントロール (workerID の値) の各行の値をバインドし、その値を受け取る別のページに投稿しようとしています。グリッドビューから URL 値を渡すのは簡単ですが、この場合、URL クエリ文字列を渡すことはオプションではありません。
ページ 1 - 隠しフィールドを使用:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="workoutID" DataSourceID="SqlDataSource5">
<Columns>
<asp:BoundField DataField="workoutID" HeaderText="workoutID" InsertVisible="False" ReadOnly="True" SortExpression="workoutID" />
<asp:BoundField DataField="workoutTitle" HeaderText="workoutTitle" SortExpression="workoutTitle" />
<asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />
<asp:BoundField DataField="description" HeaderText="description" SortExpression="description" />
<asp:BoundField DataField="exercisenotes" HeaderText="exercisenotes" SortExpression="exercisenotes" />
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("workoutID") %>' />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/postfromgridview.aspx" Text="Button" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ページ 2 - SQLdatasource および formfield パラメータを使用:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="workoutID" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="workoutID" HeaderText="workoutID" InsertVisible="False" ReadOnly="True" SortExpression="workoutID" />
<asp:BoundField DataField="workoutTitle" HeaderText="workoutTitle" SortExpression="workoutTitle" />
<asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />
<asp:BoundField DataField="description" HeaderText="description" SortExpression="description" />
</Columns>
</asp:GridView>
</td>
<td>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:SQL2008R2_504887_golivefitnesConnectionString %>" SelectCommand="workout_testing" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:FormParameter FormField="Hiddenfield1" Name="workoutID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>