簡體   English   中英

如何將多個選定的Datagrid值傳遞給asp.net中的另一個頁面?

[英]How do I Pass Multiple Selected Datagrid Values to Another Page in asp.net?

我有多個asp.net數據網格,用戶可以將其所需的相應值選中一個復選框,在文本框中放入所需的數量並提交請求。 如何在下一頁上顯示他們要求的值以及金額? 我相信可以在一個會議上做到這一點,但是我很難找到類似這樣的例子。 因為他們可以選擇多個值,所以我不能使用查詢字符串嗎? 我正在使用VB.net,但如果您使用C#回答,那很好。 謝謝!

<asp:GridView ID="flexGridView" DataKeyNames="ID" runat="server" AutoGenerateColumns="False" DataSourceID="FormSqlDataSource" CssClass="gridView" ClientIDMode="Static">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:CheckBox ID="flexCheckBoxList" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Form" ShowHeader="False" />
        <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" Visible="False" />
        <asp:BoundField DataField="Category" HeaderText="Category" SortExpression="Category" ShowHeader="False" Visible="False" />
        <asp:TemplateField Visible="false">
            <ItemTemplate>
                <asp:Label ID="lblEmail" runat="server" Text='<%# Eval("Email")%>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Qty" >
            <ItemTemplate>
                <asp:TextBox ID="flexTextBox" runat="server" Width="40" ></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

您可以使用Session或查詢字符串,但我建議使用Session ,因為查詢字符串的長度受到限制,尤其是在不確定可以檢查多少個復選框的情況下。

使用復選框控件的OnCheckChanged事件,然后在模板字段中將AutoPostBack設置為true,如下所示:

<asp:TemplateField>
    <ItemTemplate>
        <asp:CheckBox ID="flexCheckBoxList" runat="server" 
                      AutoPostBack="True" OnCheckedChanged="Check_Clicked" />
    </ItemTemplate>
</asp:TemplateField>

protected void Check_Clicked(Object sender, EventArgs e) 
{
    // Store the check box name, ID or whatever unique value you want in Session here
    CheckBox theCheckBox = sender as CheckBox;

    // Was the check box found?
    if(theCheckBox != null)
    {
        // Store in Session
        Session["CheckBoxValue"] = theCheckBox.SomePropertyValue;
    }
}

然后,在您的重定向頁面的Page_Load中,您將需要讀出選中復選框的Session值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM