簡體   English   中英

來自DropDown的ASP查詢字符串

[英]ASP Query String From DropDown

我有一個網頁: Menu.aspx ,我有以下相關控件:

  • 帶有一些值的DropDownList
  • 一個超鏈接,它將我重定向到一個名為Edit.aspx的頁面。

在我的Edit.aspx頁面中,我有一個取消按鈕,可將用戶重定向回菜單頁面

我想要做的是當我的用戶點擊超鏈接轉到編輯頁面時,DropDownList的索引保存在查詢字符串中在我的Menu.aspx頁面中我有以下aspx代碼,但我不知道如何繼續

<asp:HyperLink
    ID="lnkEdit"
    NavigateUrl='<%# "Edit.aspx?" + Eval("UserID") + ...not sure... %>'
</asp:HyperLink>

<asp:DropDownList
    ID="myDropDown"
    ...some <asp:ListItems/>
</asp:DropDownList>

編輯:澄清為什么我使用NavigateURL。 因為我的查詢字符串已經使用Eval來確定用戶ID。

我將使用LinkButton控件與服務器端OnClick事件。

<asp:LinkButton ID="lbtn1" runat="server" OnClick="lbtn1_Click" 
    CommandArgument='<%#Eval("UserID") %>' />

服務器端方法:

public void lbtn1_Click(object sender, EventArgs e)
{
    LinkButton lbtn = (LinkButton)sender;
    string userID = lbtn.CommandArgument;
    string dropDownValue = myDropDown.SelectedValue;
    string navigateUrl = string.Format("Edit.aspx?userid={0}&dropdown={1}", 
        userID, dropDownValue);
    Response.Redirect(navigateUrl);
}

編輯:正如Royi Namir在下面指出的那樣,如果您能使用它,javascript是更好的選擇。 這會造成不必要的往返服務器。

這里有一個簡單的方法就是使用Session

例:

Session["SessionName"] = idDropDownList;

在另一個頁面上,僅訪問會話的內容

string idDropDownList = (string)Session["SessionName"];

我希望我幫忙。

嘗試這樣的事情

<asp:HyperLink ID="lnkEdit"
    NavigateUrl='<%# "Edit.aspx?" + Eval("UserID") + 
    "&menuid=" + myDropDown.SelectedValue %>'> MyText </asp:HyperLink>

並在下拉列表中將AutoPostBack設置為true。 每當您更改下拉列表時,新選定的值將與超鏈接導航URL綁定。

暫無
暫無

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

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