在嘗試了未知數量的變化後,我得出結論,我需要尋求幫助。asp mvc部分頁面視圖更新與AJAX不工作
我只是試圖在我的控制器中調用一個方法,該方法使用jquery ajax功能呈現局部視圖。我看不出我做錯了什麼,在這個主題上有所有的信息我猜想這將是一件容易的事情,但我錯過了一些東西(我猜測,真的很明顯),無法弄清楚什麼。
_Layout.cshtml(主頁)
<script src="@Url.Content("~/Content/Scripts/jquery-1.10.2.js")"></script>
<script src="@Url.Content("~/Content/Scripts/jquery-ui-1.11.4.js")"></script>
<script src="@Url.Content("~/Content/Scripts/clickableRow.js")"></script>
<script src="@Url.Content("~/Content/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Content/Scripts/jquery.validate.unobtrusive.min.js")"></script>
MyController.cs(局部視圖法)
[ChildActionOnly]
public ActionResult _MyPartialView (int page = 1)
{
ModelData pt = new ModelData();
List<ModelData > md = pt.PagesOfData(page);
return PartialView(md);
}
_MyPartialView(線中省略....)
@{
Layout = null;
}
<div id="myDiv">
<form id="theFormToRefresh ">
......SOME FIELDS......
</form>
</div>
一些我已經試過的javacript
嘗試X
$().ready(function() {
$(".page-number").on("click", function() {
var selectedPage = parseInt($(this).html());
$.ajax({
url: '@Url.Action("_MyPartialView")',
type: "POST",
datatype: "html",
data: selectedPage,
success: function (data) {
$('#myDiv').empty();
$('#myDiv').html(data);
}
});
});
});
嘗試ý
$().ready(function() {
$(".page-number").on("click", function() {
$("#myDiv").load('@Url.Action("_MyPartialView", "MyController")');
});
});
嘗試Ž
$().ready(function() {
$(".page-number").on("click", function() {
var selectedPage = parseInt($(this).html());
$.ajax({
url: '@Url.Action("_MyPartialView", "MyController")',
data: { "page": selectedPage },
success: function (data) {
$("#myDiv").html(data);
}
});
});
});
您需要從方法中刪除'[ChildActionOnly]'屬性(這意味着它只能被稱爲子動作 - 即使用'@ Html.Action()') –
以下文章可能會提供你想要做什麼:http://stackoverflow.com/questions/15472978/using-mvc3-childactiononly-attribute-with-ajax –