在选择上执行cshtml代码更改为检索项目

时间:2014-09-07 17:20:35

标签: c# asp.net-mvc asp.net-mvc-4 razor

我有一个cshtml页面,有一些选项,我想在更改选择时执行其他一些C#代码来获取项目。

var choices= new List<string[]>();
<select name="student" onselect="">
            @foreach (var student in students)
            {
                <option value="@student[0]" onselect="@{
                                                           choices = choice.ReturnChoices(@student[0]);
                                                      }">@student[2] @student[3] @student[4]</option>
            }
        </select>

现在,我想调用学生价值变化时返回学生选择的方法,并填充另一个下拉/选择。

但是,目前,在加载时,下拉列表显示所有选项。

1 个答案:

答案 0 :(得分:0)

您必须注册onselect(JavaScript)事件,并在此处向控制器发出ajax调用以及将返回选项列表的学生姓名。并且在ajax调用成功时使用jquery / javascript填充第二个下拉列表,您可以在下拉列表填充时显示进度条。

<select name="student" onselect="onStudentSelect()">

function onStudentSelect(){
    $.ajax({
                    url: //Url to your action method along with the student name in query string,
                    type:get,
                    dataType: "json",
                    complete: function() {
                        //remove progress bar.
                    },
                    beforeSend: function() {
                        //Show progress bar.
                    },
                    success: function (data) {
                        //fill second drop down like:
                        //$("#secondDropDown").append('<option value="' + anyvalue + '">' + anyText + '</option>');
                    }
                });   
}