我需要将文本框输入值和下拉列表选择值传递给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>
答案 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结果的更多信息,请查看这些链接。