2014-10-30 44 views
-1

我打算通過ajax調用局部視圖。但它給結果通過代碼未定義如下通過ajax調用局部視圖

給我的控制器是

[HttpGet] 
    public ActionResult CallPartial() 
    { 
     if (Request.IsAjaxRequest()) 
     {    
      return PartialView("~/Views/Partial1"); 
     } 
     else 
     { 
      return View(); 
     } 
    } 

,我的看法是

<div id="divpartial">hello 
<button id="btn" onclick="callpartial()">Click</button> 

</div> 


<script type="text/javascript" > 
    $(function callpartial() { 
     $.ajax({ 
      url: '~/Controllers/Home/CallPartial', 

      contentType: 'application/html; charset=utf-8', 
     type: 'Get', 
      dataType: 'html', 
     success: function (status) {$("#divpartial").html("Welcome to partial view"); }, 
      error: function (status) { 
       alert(status.Value); 
      } 
           alert("Request Fails"); 
    }); 

}); 

和finaly我的部分觀點是

<body> 
<div>hello this partial</div> 
</body> 

回答

0

它看起來像你的路線不好,通常在MVC中你沒有在你的路線中的「控制器」一詞。試試這個:

url: '@Url.Action("CallPartial", "Home")', 
+0

謝謝你現在的工作。 – 2014-10-31 04:41:34

+0

但現在它返回View()而不是PartialView()??? – 2014-10-31 06:50:30

+0

樂意幫忙!所以你的代碼不會進入Request.IsAjaxRequest()塊? – MDiesel 2014-10-31 12:22:13