私はこれが非常に単純だと確信しています (歯が生える娘と一晩中起きていました!) 私のドロップダウンリストは常に 0 を返します:
<p>
<asp:DropDownList ID="ddlSelectVenue" AppendDataBoundItems="true" CssClass="small-dropdownlist" DataTextField="SiteName" DataValueField="SiteName" runat="server">
<asp:ListItem Text="-- select --" Value="0"></asp:ListItem>
</asp:DropDownList>
</p>
これを設定するコードは次のとおりです。
for (int i = 0; i < dArray.Length; i++)
{
ddlSelectVenue.Items.Add(new ListItem(dArray[i]["SiteName"].ToString(),dArray[i]["SiteName"].ToString()));
}
値が含まれています。ページ ソースのスニペットを次に示します。
<select name="ctl00$ddlSelectVenue" id="ctl00_ddlSelectVenue" class="small-dropdownlist">
<option value="0">-- select --</option>
<option value="Admiral Duncan - London">Admiral Duncan - London</option>
<option value="Anchor - Bristol">Anchor - Bristol</option>
<option value="Assembly - Preston">Assembly - Preston</option>
</select>
Go ボタンの HTML は次のとおりです。
<asp:ImageButton ID="imbGo" ImageUrl="~/img/GoButton.png" OnClick="imbGo_Click" runat="server" />
そして、ここに imbGo_Click があります (その一部です):
protected void imbGo_Click(object sender, EventArgs e)
{
switch(ddlSelectVenue.SelectedValue)
{
case "Admiral Duncan - London":
Response.Redirect("http://www.welovetolisten.co.uk?unitcode=5004&FROMWEBSITE=1");
break;
case "Anchor - Bristol":
Response.Redirect("http://www.welovetolisten.co.uk?unitcode=3010&FROMWEBSITE=1");
break;
// ...
}
}
それは常にデフォルトに爆撃しています: 私が言ったように、おそらく理由は明らかですが、私はそれを見ていません!
編集
私はこれを使用して解決しましたが、それが問題だったので投稿することについて最初に言った人を受け入れます.一種の問題。
とにかく、代わりにjQueryを使用して変更するドロップダウンリストにCookieを設定しました:
$('.small-dropdownlist').change(function () {
var info = $('.small-dropdownlist option:selected').text();
$.cookie("FeedbackVenue", info);
});
次に、[Go] ボタンで Cookie を読み取ります。
if(Request.Cookies["FeedbackVenue"] != null)
{
venue = Request.Cookies["FeedbackVenue"].Value;
}
switch(venue.Replace("%20"," "))
今では動作します。
みんな、ありがとう。