html
  • asp.net-mvc
  • jquery
  • razor
  • json
  • 2012-11-07 62 views 4 likes 
    4

    我有一個視圖與提交表單:當我點擊它時,jQuery/ajax函數被調用。該函數必須對視圖模型進行編碼,調用控制器操作並顯示返回的視圖。現在 ,這是我的函數:Ajax調用控制器後ASP.NET MVC顯示視圖

    <script type="text/javascript"> 
    function Analyze() { 
        var urlact = '@Url.Action("Analysis")'; 
        var model = '@Html.Raw(Json.Encode(Model))'; 
        $.ajax({ 
         data: model, 
         type: "POST", 
         url: urlact, 
         dataType: "json", 
         contentType: "application/json; charset=utf-8", 
         success: function (data) { 
          //WHAT HERE?? 
         } 
        }); 
    } 
    </script> 
    

    而且分析行動是一種

    public ViewResult Analysis(IEnumerable<Azienda> aziende) { 
         Debug.WriteLine(aziende.Count()); 
         return View(aziende); 
        } 
    

    返回一個視圖! 如何在成功時顯示該視圖:函數(數據)? 我試圖改變dataType到html並呼籲成功警報(數據)但我有編碼模型的問題,我試着評論contentType行,但同樣的模型編碼問題。

    有人知道該怎麼做嗎? js/query/ajax解決方法技巧也很好。

    謝謝大家!使用

    +0

    是否要更換整個頁面還是其中的一部分? –

    +0

    我想要替換所有頁面! – Jack88PD

    +0

    爲什麼不直接在表單上提交? –

    回答

    0

    return PartialView() 
    

    代替

    return View() 
    
    在控制器

    。然後,在ajax調用中的成功函數中,使用jQuery .html()函數更新您希望在html中更新的元素。見Query.html()View() vs. PartialView()

    0

    與aziende爲模型創建一個單獨的局部視圖,並在您的分析操作返回這一點,然後將結果添加到您的視圖一個div:

    //action returning a partial view 
    public ActionResult Analysis(IEnumerable<Azienda> aziende) 
    { 
        Debug.WriteLine(aziende.Count()); 
        return PartialView("_partialView", aziende); 
    } 
    
    //then append the result to a div in your javascript 
    success: function (data) { 
        $("#some-div").html(data); 
    } 
    
    相關問題