簡體   English   中英

部分視圖無法通過Ajax調用呈現

[英]Partial view not rendering through ajax call

我有一個由JQuery ajax調用的控制器操作,希望將“結果”的內容返回到請求頁面。 到目前為止,我有...

控制者

    public ActionResult DynCalc(resultsModel model){
    ...
    //code that populates model - all working ok
    ...
     if (Request.IsAjaxRequest())
          {
            return PartialView("results", model.Results);
          }
          else
          {
            return null; //Handle this later
          }
    }

這將傳回有效模型。 從javascript調用:

     $.ajax({
            url: "/Test/DynCalc",
            type: "POST",
            data: $("#frmResults").serialize(), //This part works
            dataType: "html",
            success: function (result) {
                $('#resultsSection').html(result);
                $('#hide_panel a').flash("#111", 1000);
            }
        });

成功永遠不會受到打擊。 希望有人能告訴我我很傻並且缺少明顯的東西嗎?

我的部分視圖結果只是帶有javascript的HTML頁面。 如果我只有以下內容

在我的結果視圖中, Hello world ,然后一切正常,在沒有任何腳本的情況下,

我在正確的軌道上嗎? 我應該更改控制器上的退貨類型嗎? 還是使用JSON?

我沒有發布結果頁面的內容,因為它是整個文檔還是簡單的<b>hi</b>都沒關系-它執行相同的操作。

嘗試只返回一個視圖。 因為在這種情況下,您的結果是完整的View(因為操作結果可能是HTML,XML,JSON等)。 將PartialView 用作呈現部分 View的方法。

例如,在您的MasterPage上,您希望“始終”呈現用戶信息: @RenderAction("UserInfoAction", "UserController")

    var model= {
        "PropertyName1":$("#txt1").val(),
        "PropertyName1": $("#txt2").val(),         
       }

     $.ajax({
         type:"POST",
         url: 'Url.Action("DynCalc","ControllerName")',
         data: JSON.stringify(model),
         contentType: "application/json;charset=utf-8",
         success: function (data, status, xhr)
          {
         alert("The result is : " + status + ": " + data);
          },
         error: function (xhr)
         {
         alert(xhr.responseText);
         }
       });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM