2 回答

TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊
我在這里發(fā)布解決方案;這比在評論中要好。
最初我使用這個href:
href="@Url.Page("Area/Details/" + @Model.wItem.GUID, "ShowDetails")">
使用 Url.Page 因為我使用的是 Razor 而不是 MVC。閱讀 MS 文檔(https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas?view=aspnetcore-3.0)我注意到我正在使用這些區(qū)域,所以正確的href應(yīng)該是:
href='@Url.Page("Details", "ShowDetails", new { area = "Area", position = item.Position, GUID = @Model.wItem.GUID })'
詳細(xì)信息:是我的頁面的名稱
ShowDetails:是我的 GET 處理程序的名稱
區(qū)域:是我的區(qū)域的名稱
位置和GUID:是我的 GET 處理程序的參數(shù)
結(jié)果 href URL 將如下所示:
/en/Area/Details/45646546-1213-156416-45646-5464666?position=1&handler=ShowDetails
調(diào)用我的處理程序:
public async Task<IActionResult> OnGetShowDetailsAsync(string GUID, string position)
{
...
}
希望這可以節(jié)省其他時間。

TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊
您可以使用該href屬性來執(zhí)行此操作。你說它對你不起作用,但你還沒有展示你嘗試過的東西。使用attr()將為您提供所需的值。您似乎還試圖在不太正確的 GET 請求中發(fā)送 JSON,尤其是當(dāng)您需要的數(shù)據(jù)已經(jīng)在hrefURL 中時。
另請注意,您應(yīng)避免使用onclick和其他事件屬性,因為它們已過時。當(dāng)您使用 jQuery 時,您可以輕松地不顯眼地附加您的事件處理程序。
最后,async: false這是非常糟糕的做法,不應(yīng)使用。您在任何情況下都不需要它,因為您已經(jīng)實現(xiàn)了該done()方法。說了這么多,試試這個:
<a class="nav-link text-dark text-center p-0 collapsed"
data-toggle="collapse"
data-target="#Details"
aria-expanded="true"
aria-controls="Details"
href="@Url.Page("Area/Details/" + @Model.wItem.GUID, "ShowDetails")">
@item.Position
</a>
jQuery(function($) {
$('.nav-link').on('click', function(e) {
e.preventDefault(); // stop the standard link behaviour
$.ajax({
url: $(this).attr('href'),
type: 'GET',
cache: false,
headers: {
RequestVerificationToken: $('input:hidden[name="__RequestVerificationToken"]').val()
}
}).done(function(result) {
$('#MainframeContents').html(result);
});
});
});
添加回答
舉報