プログラミングに慣れていません。私はASP.NET WebformsプロジェクトをASP.NET MVCに移行しようとしています。私はASP.NET MVCのリストボックスから選択したインデックスの値を取得し、このインデックスをテキストボックス内の文字列をソートするために使用する必要があります。ASP.NET MVC - リストボックスで選択されたインデックスの値を取得する
<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"
Height="166px" Width="198px"
BackColor="Black" Font-Bold="True" ForeColor="White" Font-Size="Small"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
</asp:ListBox>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"
Height="149px" Width="286px"
TextMode="MultiLine" OnTextChanged="TextBox1_TextChanged"
AutoPostBack="True" Font-Bold="True" ForeColor="#006600">
</asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ListBox1"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
そして、背後にあるコードはでした:それは私のWebフォームプロジェクトで非常に簡単だった
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
...
i = ListBox1.SelectedIndex;
TextBox1.Text += ....// here is a string sorted based on the selected index i);
...
}
しかし、私は、二にもかかわらず、ASP.NET MVCで選択したインデックスを受信するための方法を発見していませんITフォーラムでの1日の検索
私は、このようにビューでリストボックスをポピュレート:
@Html.ListBoxFor(x => x.SelectedIndexes, new SelectList(Model.Entries,
"Value", "Text"), new { id = "ListBox1", onchange =
"selectedIndexChanged()", style = "width:198px; height:166px; color:white;
background:black; font-weight:bold" })
エントリのリストがモデルに作成され、ビューにコントローラを介して送られました。それは動作し、リストボックスに値が設定されます。しかし、ASP.NET MVCでは、ListBox1.SelectedIndex
のようなものはないようです。クライアント側(JavaScriptのステートメント:document.getElementById("ListBox1").selectedIndex
)で値を受け取ることは可能ですか?この値をサーバー側に転送する方法はないようです。
選択したインデックスの値を抽出してモデルに転送する方法を知っている人はいますか?
ありがとうございます。
あなたが送信するために、AJAXを使用する必要があります同じページにとどまる場合は、サーバーへの値を入力します。オプションを選択したときにやりたいことは何ですか? –
はい、まさにこれは私のやりたいことです(私のwebformsプロジェクトのように - 上記のコードを見て、少なくとも私はそれがajaxであると言われました)。選択されたインデックスの助けを借りて、ASP.NET MVCでajaxがどのように使用されているか、項目を選択するとイベントがトリガーされるようになりました(今はテスト目的でサブミットボタンを使用します)。もちろん、どんな助力も大いに評価されます。 – Mira
オプションを選択したときに、あなたが望むものがまだ説明されていません!あなたのURL、{id:選択されている}関数(データ){データと一緒にやってみましょう($ {'SelectedIndexes'})あなたは返す});}); ' –