第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP .NET Core 3.0 Razor 頁面使用 @Url.Page 為 AJAX 生成動態(tài)

ASP .NET Core 3.0 Razor 頁面使用 @Url.Page 為 AJAX 生成動態(tài)

人到中年有點甜 2022-01-13 15:32:59
我有一個錨標(biāo)記,在 onclick 上有一個 javascript 函數(shù),調(diào)用我的方法通過 Ajax 更新頁面。該頁面顯示訂單的詳細(xì)信息,ajax 更新顯示詳細(xì)訂單的位置。問題是:如何動態(tài)生成和傳遞 URL?這是我的錨標(biāo)簽:<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")"                                              id="ShowDetails"   onclick="ShowDetailsAjax(this, '@Model.wItem.GUID')">   @item.Position</a>這是我的javascript函數(shù):function ShowPositionAjax(x, _GUID) {    var _url = '';    var _position = x.outerText;    var parameters = "{'position':'" + _position + "','GUID':'" + _GUID + "'}";    $.ajax({        url: _url,        type: 'GET',        cache: false,        async: true,        headers: {            RequestVerificationToken:                $('input:hidden[name="__RequestVerificationToken"]').val()        },        data: parameters    })        .done(function (result) {            $('#MainframeContents').html(result);        });}剃須刀頁面(錨標(biāo)記所在的位置)命名為 Area/Details/123456-45646-123132(其中 123456-45646-123132 是 GUID)。問題是,我不想硬編碼網(wǎng)址,因為 GUID 可以更改。我試過了href="@Url.Page("Area/Details/" + @Model.wItem.GUID,  "ShowDetails")"但在 javascript href 中為空。
查看完整描述

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é)省其他時間。

查看完整回答
反對 回復(fù) 2022-01-13
?
蕪湖不蕪

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);

    });

  });

});


查看完整回答
反對 回復(fù) 2022-01-13
  • 2 回答
  • 0 關(guān)注
  • 309 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號