0
我想實現一個Ajax.ActionLink POST和點擊時,它要麼轉到控制器GET或不執行任何操作(當我包括jquery.unobrusive-ajax.js)Ajax.ActionLink將不會發布
我沒有瀏覽器F12控制檯錯誤消息。
我試着移動query.unobtrusive-ajax.js文件,沒有運氣。
Web.config文件有:
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
的ajax.actionlink聲明:
@Ajax.ActionLink(@item.Title, "GoogleDriveList", "GoogleDrive",
new { SelectedFolder = item.DriveId }, new AjaxOptions() { HttpMethod = "POST" })
當查看HTML源代碼:
<head>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/bootstrap-datepicker3.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<link href="/Content/jquery-ui.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.6.2.js"></script>
<script src="/Scripts/jquery-2.1.4.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/bootstrap-datepicker.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/Scripts/jquery-ui-1.11.4.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
</head>
...navigation code
...
<form action="/GoogleDrive/GoogleDriveList" id="myFormID" method="post">
<input name="__RequestVerificationToken" type="hidden" value="xxxxxxxxx"
/>
...form stuff...
<a data-ajax="true" data-ajax-method="POST"
href="/GoogleDrive/GoogleDriveList?SelectedFolder=07BPctxxe8t9RcEpqbzYzV2x6NzA">Conf 001</a>
</form>
<script>
... Some java script not related to Ajax.ActionLink
</script>
我試着將[HttpPost]控制器ActionResult重命名爲GoogleDriveListPost,以使其唯一,Ajax.ActionLink語句在點擊時不會觸發。所以我註釋掉了,並且它會再次觸發,但僅限於HttpGet。我的包含腳本可能無法正常工作嗎? – John
如果包含腳本兩次,它將無法正常工作。因此,如果將腳本包含在主(佈局)視圖中,請確保不要再將其包含在子頁面上,並且如果要爲方法指定唯一的名稱你應該使用[ActionName(「NameOfYourMethod」)] –