如何使用jquery将文本框输入值和下拉列表选择值作为输入参数传递给mvc4中的Controller?

时间:2013-11-21 12:33:02

标签: asp.net-mvc-4

我需要将文本框输入值和下拉列表选择值传递给MVC4中的Controller ????????? 对于Eg:我有一个带有文本框和下拉列表的表单和一个(用于Webgrid的PartialView)。当我将日期时间输入提供给文本框并在下拉列表中选择“DoctorName”时。然后我需要将文本框输入值和下拉列表值作为参数传递给控制器​​???????我的控制器用于绑定PartialView中的webgrid ...我试过的代码无效...... #doctortype是下拉列表,#AppointmentDate是文本框输入日期时间。

jquery的:

   <script type="text/javascript">
    $(document).ready(function () {

        $('#doctorType').change(function (e) {
            e.preventDefault();
            var url = '@Url.Action("Filter")';
            $.get(url, { doctorname: $(this).val() }, { AppointmentDate: $('#AppointmentDate').val() }, function (result) {

                $('#FilterWebgrid').html(result);
            });
        });
    });
</script>

2 个答案:

答案 0 :(得分:1)

不是

$.get(url, `{ doctorname: $(this).val() }, { AppointmentDate: $('#AppointmentDate').val() }`, function (result) {

                $('#FilterWebgrid').html(result);
            });

您正在发送两个对象。您必须发送一个这样的对象:

  $.get(url, { doctorname: $(this).val(), AppointmentDate: $('#AppointmentDate').val() }, function (result) {

                $('#FilterWebgrid').html(result);
            });

2)检查控制台和网络选项卡,检查是否有错误。

3)您传递的值必须与Action

中预期的参数类型相同

答案 1 :(得分:0)

这只是发布数据的简单方法。如果您的控制器将数据返回到视图,请尝试$ .getJSon();

<input type="text" value="doctor name" id="txtDoctor"/>
<select id="ddlDoctor"><option>SomeSelectedData</option></select>

<script>
 $(document).ready(function() {
   var txtValue = $('#txtDoctor').val();  
   var ddlValue = $('#ddlDoctor').val();

   $.ajax({
       url: '/controller/action',
       data: { doc: txtValue, name: ddlValue },
       traditional: true,
       success: function(result) {
       alert(result.status);
   }
 });
 });
</script>

要了解有关getJSon和JSON结果的更多信息,请查看这些链接。

GetJson with parameters

JSON result in view