2016-04-23 12 views
2

この全体的な問題は、C#を使用したasp.netのドロップダウンリストに関するものです。 asp.pract2.aspxにDropDownListChangedの定義が含まれていないというエラーメッセージがよく分かりません。私がYoutubeで検索したすべてのものが、Visual Studioのソリューションを扱っています。私はxamppサーバーを使ってメモ帳++から直接作業しています。私は正しい構文を持っていると信じていますが、私は100%確実ではありません。私は一日中エラーを訂正してきたからです。私は教科書の指示に従ってきましたが、私の訓練でこの時点でできることは最高ですが、今は壁に当たっています。私は次に何をすべきかわからない。私は誰かがこれについていくつかの光を当て、正しい方向に私を指すことができれば感謝します。ここに短いコードがあります。ドロップダウンリストコントロールasp.net C#エラーは 'ASP.pract2_aspx'に 'dropDownList_Changed'の定義が含まれていません

<%@ Page Language="C#" %> 
    <script runat="server"> 
    void dropDownList1_Changed(Object sender, EventArgs e) 
    { 
    int i = ((DropDownList) sender).SelectedIndex; 
    string str = ""; 
    switch (i) 
    { 
    case 0: 
    str = "You selected Sunday"; break; 
    case 1: 
    str = "You selected Monday"; break; 
    case 2: 
    str = "You selected Tuesday"; break; 
    case 3: 
    str = "You selected Wednesday"; break; 
    case 4: 
    str = "You selected Thursday"; break; 
    case 5: 
    str = "You selected Friday"; break; 
    case 6: 
    str = "You selected Saturday"; break; 
    default: 
    str = "Please select a day"; break; 
    } 
    label1.Text = str + ": " + ((DropDownList) sender).SelectedItem.Value; 
    } 
    </script> 
    <html> 
    <body> 
    <form id="form1" runat="server"> 
<asp:DropDownList id="dropDownList1" runat="server" accesskey="1" AutoPostBack="True" 
    OnSelectedIndexChanged="dropDownList_Changed"/> 
    <asp:ListItem Selected="True" Value="Sun"/>Sun</asp:ListItem> 
    <asp:ListItem Value="Mon"/>Mon</asp:ListItem> 
    <asp:ListItem Value="Tue"/>Tue</asp:ListItem> 
    <asp:ListItem Value="Wed"/>Wed</asp:ListItem> 
    <asp:ListItem Value="Thu"/>Thu</asp:ListItem> 
    <asp:ListItem Value="Fri"/>Fri</asp:ListItem> 
    <asp:ListItem Value="Sat"/>Sat</asp:ListItem> 
    </asp:DropDownList> 
<br><br>'This is where I'm going to put a button control 
<p><asp:Label id="label1" Runat="server"/></p>   
</form> 
</body> 
+0

ええ、あなたの権利。 ConnorsFanはそれを私に指摘しました。ありがとう。 – swydell

答えて

2

DropDownListの宣言にいくつかの問題があります。

<asp:DropDownList ID="dropDownList1" runat="server" OnSelectedIndexChanged="dropDownList1_Changed" AccessKey="1" AutoPostBack="True"> 
    <asp:ListItem Selected="True" Value="Sun">Sun</asp:ListItem> 
    <asp:ListItem Value="Mon">Mon</asp:ListItem> 
    <asp:ListItem Value="Tue">Tue</asp:ListItem> 
    <asp:ListItem Value="Wed">Wed</asp:ListItem> 
    <asp:ListItem Value="Thu">Thu</asp:ListItem> 
    <asp:ListItem Value="Fri">Fri</asp:ListItem> 
    <asp:ListItem Value="Sat">Sat</asp:ListItem> 
</asp:DropDownList> 

マイ訂正:あなたは次のマークアップを試すことができます(スクリプトブロックで宣言されているように)

  1. イベントハンドラの名前ではなくdropDownList_Changed

  2. で今dropDownList1_Changedですあなたの要素はself-closingタグで宣言されています(例えば<asp:ListItem ... />)、終了タグ(例えば</asp:ListItem>)を持っていても、両方を持つことはできません。これはDropDownList自体の宣言ListItemsの場合と同様です私は終了タグを保持し、開始タグの自己クローズ部分を削除しました。

+0

提案した通りに終了タグを修正し、ページを再読み込みしました。今度はリテラルコンテンツ( 'Sun')は 'System.Web.UI.WebControls.ListItemCollection'内では使用できません。これは私のList Itemです。プログラムの目的。誰でも分かりますか? – swydell

+0

ファイル内に自分のコードをコピーして貼り付けることができます。私は自己閉鎖タグを忘れたと思う(おそらく、 'Value =" Sun "'の後に)。 – ConnorsFan

+0

皆さんありがとうございました。すべてが期待どおりに機能します。 – swydell

関連する問題