我使用Ajax将数据传递给部分视图:
<script type="text/javascript">
$(function () {
$('#Request_For_Id').change(function () {
var mdlno = document.getElementById("Request_For_Id").value;
$.ajax({
url: '/Search/MDLNoDataList/',
type: "POST",
data: {
id: mdlno
},
dataType: "html",
success: function (data) {
$("#viewlist").html(data);
},
error: function () {
alert("No Records Found");
//$("#viewlist").html('No Records Found');
}
});
});
});
</script>
我可以使用Html.RenderPartial
或Html.RenderAction
等加载部分视图吗?
url: '/Search/MDLNoDataList/',
还有其他方法吗?
答案 0 :(得分:0)
url: '/Search/MDLNoDataList/',
还有其他方法吗?是
当您希望解析网址并将其作为相对路径传递时,会使用Url.Content:
url: '@Url.Content("/Search/MDLNoDataList/")',
Url.Action用于解析来自控制器的操作,例如:
url: '@Url.Action("MDLNoDataList", "Search")',
我可以使用Html.RenderPartial或Html吗? RenderAction等加载局部视图?
您可以使用此功能加载部分视图,而不影响整个视图,check this以了解差异
答案 1 :(得分:0)
您可以让控制器操作返回局部视图:
public ActionResult MDLNoDataList(string id)
{
...
return PartialView();
}
然后:
<script type="text/javascript">
$(function () {
$('#Request_For_Id').change(function () {
var mdlno = $(this).val();
$.ajax({
// If you are using the WebForms view engine you should use:
// url: '<%= Url.Action("MDLNoDataList", "Search") %>'
url: '@Url.Action("MDLNoDataList", "Search")',
type: 'POST',
data: {
id: mdlno
},
success: function (data) {
$('#viewlist').html(data);
},
error: function () {
alert('No Records Found');
}
});
});
});
</script>