2012-04-25 63 views
1

我有一個DropDownList有幾個選項。我希望用戶選擇一個選項,並在點擊下一步按鈕時,頁面被重定向到相應的頁面。 ex。
如果用戶選擇選項A> Next按鈕>網頁A
如果用戶選擇選項B> Next按鈕>網頁B
究竟如何做到這一點,好嗎?

附加信息:
只有一個DropDownList,從連接的數據庫和一個下一個按鈕填充值。

更新:
我已經使用了下面的switch語句。它重定向,但不管選擇什麼,它總是重定向到Birthday.aspx頁面。使用ASP.Net C#,DropDownList和重定向?

switch (lstCategory.SelectedValue.ToString()) 
    { 
     case "Birthday": 
      Response.Redirect("Birthday.aspx"); 
      break; 
     case "Christmas": 
      Response.Redirect("Christmas.aspx"); 
      break; 
     case "Valentine": 
      Response.Redirect("Valentine.aspx"); 
      break; 
    } 

問題解決了!
我所需要做的就是從DropDownList啓用AutoPostBack

+0

如果所有可選頁面是靜態頁面或HTML頁面,你也可以使用html dropdoen(type = Select) – pvaju896 2012-04-25 12:36:53

回答

1

你可以試試這個。

在下一個按鈕的點擊事件中 1)查看下拉列表的值。如果是,Response.Redirect的第A 2)如果是B,的Response.Redirect到B

+0

這就是我試圖做的。用if/else和switch語句嘗試過,但它不起作用。感謝您的回覆:) – Rika 2012-04-25 13:06:19

+0

嘗試調試。這應該有所幫助。在你的開關盒上放一個斷點。看看它是如何得到比較。不要猶豫,嘗試Server.Transfer而不是Response.Redirect。它可能行不通,但仍值得嘗試。你可以知道Server.Transfer是什麼。 – 2012-04-25 14:40:17

1
protected void Button_Click(object sender, EventArgs e) 
    { 
      switch(dropdownlist.SelectedValue) // or SelectedText 
      { 
      case "A": 
      Response.Redirect("A.aspx"); 
      break; 
      case "B": 
      Response.Redirect("B.aspx"); 
      break; 
      default: 
      Response.Redirect("NotFound.aspx");; 
      break; 
      } 
    } 
+0

似乎應該工作,但它不是:/謝謝! :) – Rika 2012-04-25 13:05:13

+0

是否有任何錯誤?嘗試dropdownlist.Text代替switch語句 – Zaki 2012-04-25 13:26:56

0
  1. 保持下拉列表中,下一個按鈕或HTML鏈接按鈕

  2. 寫javascript來獲取下拉列表中的所選選項, 並根據選擇的選項使用if條件並導航頁面。

  3. Incondition->將url的value屬性設置爲你擁有的頁面鏈接。

1

你可以做這樣的事情:

HTML:

<asp:DropDownList ID="DropDown1" runat="server"> 
    <asp:ListItem>Option A</asp:ListItem> 
    <asp:ListItem>Option B</asp:ListItem> 
</asp:DropDownList> 

<asp:Button ID="Button1" runat="server" Text="Next" /> 

C#代碼隱藏:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string redirectTo = string.Empty; 

    switch (DropDown1.SelectedIndex) { 
     case 0: 
      redirectTo = "PageA.aspx"; 
      break; 
     case 1: 
      redirectTo = "PageB.aspx"; 
      break; 
    } 

    Response.Redirect(redirectTo); 
} 
1

我假設烏爾新計算器和ASP .net我會給你一些在線教程參考。

Code Project

Ezine asp.net

試一下使用這個網站,你會明白,你將如何能夠讓你的要求工作

+0

是的,我是新的。感謝您的參考,我會檢查他們 – Rika 2012-04-25 12:47:33

+0

歡迎您嘗試準備一個單一的網頁和研究Dropdownlist的事件。我可以爲你編寫代碼,但它不會幫助你從中學習。所以我建議你自己創建它。 – Murtaza 2012-04-25 13:04:30

1

基本上你需要:

1)創建一個按鈕點擊事件(雙擊按鈕) 2)在這個新事件中寫下類似內容:

If(YourDropDownList.SelectedValue == 1){ 
Response.Redirect("http://www.SiteA.com"); 
} 
else 
{ 
Response.Redirect("http://www.SiteB.com"); 
} 

如果您發佈了目前爲止您可以做的事情,那麼可以嘗試提供幫助。

希望它可以幫助

工作代碼:

公共部分類WebForm1的:

背後按鈕
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:DropDownList ID="db" runat="server"> 
     <asp:ListItem>www.ademargomes.com</asp:ListItem> 
     <asp:ListItem>www.google.com</asp:ListItem> 
    </asp:DropDownList> 

    <asp:Button runat="server" Text="Redirect" ID="bt" onclick="bt_Click"/> 

    </div> 
    </form> 
</body> 

代碼:

我的網頁正文System.Web.UI.Page

{ protected void Page_負載(對象發件人,EventArgs的) {

} 

protected void bt_Click(object sender, EventArgs e) 
{ 
    if (db.SelectedValue == "www.ademargomes.com") 
    { 
     Response.Redirect("http://www.ademargomes.com"); 
    } 
    else 
    { 
     Response.Redirect("http://www.google.com"); 
    } 
} 

}

+0

我嘗試了這樣的: 保護無效btnNext1_Click(對象發件人,EventArgs的) { 開關(lstCategory.SelectedValue.ToString()){ 情況 「生日」: 的Response.Redirect( 「Birthday.aspx」 ); 休息; 案例「聖誕節」: Response.Redirect(「聖誕節。aspx「); break; } – Rika 2012-04-25 13:07:13

+0

剛剛使用工作代碼編輯了答案 – Ademar 2012-04-25 16:00:17

0

一個簡單的方法來做到這一點是通過設置列表項的值,你想要什麼,例如:

<asp:DropDownList ID="ddlChoices" runat="server"> 
    <asp:ListItem Value="pageA.aspx" Text="OptionA" /> 
    <asp:ListItem Value="pageB.aspx" Text="OptionB" /> 
</asp:DropDownList> 

<asp:Button ID="btnClickMe" runat="server" Text="Click Me" OnClick="btnClickMe_Clicked" /> 

後面的代碼

protected void btnClickMe_Clicked(object sender, EventArgs e) { 
    Response.Redirect(ddlChoices.SelectedValue); 
} 
+0

我希望我可以,但我被要求填充數據庫中的下拉列表值。 – Rika 2012-04-28 10:08:28