iT邦幫忙

2

【已解決】ASP .NET MVC 互動視窗 Modal PartialView的局部更新問題

  • 分享至 

  • xImage


解決了,是因爲ASP.NET MVC 5 開始,Visual Studio 2013 的專案範本改成預設不安裝 Microsoft jQuery Unobtrusive Ajax 套件,所以導致ajaxbeginform沒有正常使用
https://blog.miniasp.com/post/2014/11/10/ASPNET-MVC-5-Microsoft-jQuery-Unobtrusive-Ajax-lost-and-found
參考這篇文章加入套件就解決了

我想要按下儲存后只有modalbody的資料更新
controller
https://ithelp.ithome.com.tw/upload/images/20231207/20151878S7Pnb9pV56.jpg
index.cshtml(按下按鈕會出現modal)
https://ithelp.ithome.com.tw/upload/images/20231207/2015187802n3ozvxRe.jpg
_model.cshtml(會載入_modalbody.cshtml)
https://ithelp.ithome.com.tw/upload/images/20231207/201518785ZpJGvjQuX.jpg
https://ithelp.ithome.com.tw/upload/images/20231207/20151878bCy9zJSD7x.jpg
_modal.cshtml
https://ithelp.ithome.com.tw/upload/images/20231207/20151878LsEu1isS84.jpg

儲存前
https://ithelp.ithome.com.tw/upload/images/20231207/201518788LdtZcJXw7.jpg
儲存后
https://ithelp.ithome.com.tw/upload/images/20231207/20151878oDFtBRkzoP.jpg

我查網上和問gpt都是得到用partialview和UpdateTargetId。我想請問各位大大是我那個地方有寫錯嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
念戀
iT邦新手 5 級 ‧ 2023-12-07 21:10:12

https://chat.openai.com/share/54fefd7e-4eb6-4536-bc91-33390e8d8784
GTP這樣回答的

更:
沒辦法回復誒!
submit時候也沒去要更新modalbody 就回到view了的說?
也不懂預期是什麼樣子
public ActionResult SaveModal()
{
ViewBag.Message = "";

return Json("SaveModal");

}
index.cshtml :加function
function saveChanges() {

    // 使用 $.ajax 函數進行 Ajax 請求
     $.ajax({
        url: "@Url.Action("SaveModal")",
        method: "Post",
        dataType: "JSON",
        success: function (data) {
            // 請求成功時的處理
            console.error(data);
            $(".modal-body").html(JSON.stringify(data));
        },
        error: function (xhr, status, error) {
            // 請求失敗時的處理
            console.error("Error:", status, error);
        }
    });
}

_model.cshtml : submit 改為button 加onclick
<button type="button" id="Save" onclick="saveChanges()" class="btn btn-primary">儲存
GTP說用 ajax

suiseipen iT邦新手 5 級 ‧ 2023-12-07 21:40:55 檢舉

這些方式我都試過了,但是還是沒辦法讓modalbody部分更新

suiseipen iT邦新手 5 級 ‧ 2023-12-08 09:35:21 檢舉

謝謝,我試試看

suiseipen iT邦新手 5 級 ‧ 2023-12-08 09:48:26 檢舉

解決了,是因爲ASP.NET MVC 5 開始,Visual Studio 2013 的專案範本改成預設不安裝 Microsoft jQuery Unobtrusive Ajax 套件,所以導致ajaxbeginform沒有正常使用

我要發表回答

立即登入回答