[英]The Url.Action '@Url.Action(“Update”, “Admin”)'query string which is not working in .NET MVC
Ajax 生成的查詢字符串
url:'@Url.Action("Update","Admin")'
是http://localhost:61887/Adimn/Update?id=16
這不起作用但是當 url 給出為
url: '/Admin/Update'
它產生
http://localhost:61887/Adimn/Update/16
它工作正常。
為什么會這樣?
這是我的腳本:
function EditUser(value) {
$.ajax({
url: '@Url.Action("Update", "Admin")'
url: '/Admin/Update',
data: {
id: value
}
})
.done(function (response) {
$("#Ajaxcontainer").html(response);
focusAction("Ajaxcontainer");
})
.fail(function (XMLHttpRequest, textStatus, errorThrown) {
alert("FAIL");
});
}
這是 HTML 鏈接:
<button type="button" class="btn btn-primary btn-sm" data-id="@item.ID" onclick="EditUser(@item.ID);">Edit</button>
您可以將參數傳遞給 Url.Action,例如:
Url.Action("Update", "Admin", new { id = id });
所以:
$.ajax({
url: '@Url.Action("Update", "Admin", new { id = 16})',
//url: '/Admin/Update/16',
contentType: "application/json",
success: function (result) {
// your code here
},
error: function (xhr, resp, text) { console.log(xhr, resp, text); }
});
這樣,請求的 url 將是: http://localhost:61887/Adimn/Update/16
盡管,
$.ajax({
url: '/Admin/Update/',
type: "GET",
data: {
"id":16
},
contentType: "application/json",
success: function (result) { alert('success'); },
error: function (result) { alert('Error'); }
});
這樣,請求的 url 將是: http://localhost:61887/Adimn/Update/?id=16
您之所以在 url ?id=16
的末尾看到查詢字符串,是因為默認情況下您通過 ajax 發送Get
請求。 您可以決定在 ajax 調用中使用type: "POST",
以避免查詢字符串,而是將 model 數據捆綁並通過消息正文發送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.