0

ここに、ドロップダウンリストとリストボックスがあります。DbContext を使用してデータを取得し、コントローラーの Viewbag を使用してドロップダウンリストのデータをバインドして表示しました。ここまでは正常に動作します。

私のコントローラー..

public ActionResult Index()
        {
            ViewBag.StudentList = new SelectList(db.Students, "StudentID", "StudentName");          
            return View();
        }

私の見解..

@using (Html.BeginForm())
{    
    @Html.ValidationSummary(true)
    <div>
     @Html.DropDownList("StudentList", "-Select-")
     <br/>
      @Html.ListBox("StudentMarks", new SelectList(""))
     <p>
          <input type="submit" value="Save" />
     </p>
    </div>
}

今問題は、ドロップダウンリストで選択された値で選択された値に従って、データをリストボックスにバインドする必要があることです。最初は空のリストボックスでした。

誰でも私を助けることができますか?

前もって感謝します

4

2 に答える 2

0

最初に、次のようなドロップダウン リストの変更イベントを記述します。

$('#StudentList').change(function(){

var selecteditem=$('#StudentList').val();
$.ajax({
url:'Controller/Action',
type:'POST',
data:{id:selecteditem},
cache:false,
success:function(data){
var lstItems=[];
foreach(var i=0;i<data.length;i++)
{
lstItems.push('<option value="'+data.Field1+'">data.Field2</option>');
}
$('#StudentMarks').empty();
$('#StudentMarks').append(lstItems);
}
});
});

あなたの行動は次のようになります。

[HttpPost]
public ActionResult Action(string id)
{
// get all data by the student id.
return Json(listMarks,JsonRequestBehavior.Allow.Get);
}

これはあなたのために働きます。

于 2012-10-17T08:31:46.207 に答える
0

「onchange」イベントでStudentListから選択されたキーを取得し、それをサーバーに渡してリストボックスの値を取得し、リストボックスの選択用の「オプション」をjavascriptで作成する必要があります

于 2012-10-17T06:29:57.947 に答える