2016-08-12 3 views
0

PartialView를 통해보기로 정보를 반환하기 위해 Ajax를 사용하려고합니다. 뷰 폴더에 PartialView의 _deal.cshtml가MVC ActionLink가 PartialView를 반환하지 않습니다.

<div id="deal" class="container"> 
@Ajax.ActionLink("Click here to see the daily deal!","Deal", 
null, 
new AjaxOptions 
{ 
    UpdateTargetId = "deal", 
    InsertionMode=InsertionMode.Replace, 
    HttpMethod="GET" 
}, 
new { @class = "btn btn-primary" }) 

가이 컨트롤러의 Index.cshtml이 섹션이

public ActionResult Deal() 
{ 
    var product = getDeal(); 
    return PartialView("_deal",product); 
} 

private product getDeal() 
{ 
    var product = db.Products.OrderByDescending(a => a.Name).First(); 
    product.Price *= 0.5m; 
    return product; 
} 

:

제어기는 두 가지 방법을 갖는다 하지만 ActionResult Deal()은 _deal.cshtml의 데이터만으로/Products/Deal URL로 리디렉션됩니다. 부분 뷰를 렌더링하고 div 태그의 html을 id = "deal"로 렌더링하는 대신.

답변

1

프로젝트에 Microsoft.jQuery.Unobtrusive.Ajax의 nuget 패키지를 추가해야합니다.패키지 관리자 콘솔에서 :

Search and install via NuGet Packages: Microsoft.jQuery.Unobtrusive.Ajax

그 후에 당신은 당신의 뷰에 대한 참조를 추가해야합니다

@Scripts.Render("~/bundles/jquery") 
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"> </script> 

귀하의 "거래는"ActionResultPartialViewResult 될 수_deal.cshtml보기> 공유폴더에 삽입해야합니다.

+0

감사합니다. 나는 그것을 시도하고 다시보고 할 것이다. – Ron

0

당신은 모델에서

스토어 사용자 값처럼 사용하고 모형을 전달할 수 있습니다.

public ActionResult Deal() 
     { 
      return PartialView("../_ProductPartial",model) 
     } 
관련 문제