2017-01-12 4 views
0

나는 ASP.NET MVC4 (0.5) 웹 응용 프로그램을 구축하고 열립니다. 나는 문제에 관해 여러 가지 주제로 물들어 갔고, 그들 모두를 시도했지만 문제는 사라지지 않았다.Ajax.ActionLink 새로운 페이지 MVC4

은 내가 PartialView를 반환하는 컨트롤러를 가지고있다.

[HttpGet] 
public ActionResult Subcategories(int id) 
{ 
    IOrderedQueryable<Subcategory> subcategories = this.Data.Subcategories 
                .All() 
                .Where(sub => sub.Category.Id == id) 
                .OrderBy(cat => cat.Name); 

    var request = this.Request.IsAjaxRequest(); 
    IEnumerable<ConciseSubcategoryViewModel> model = Mapper.Map<IEnumerable<ConciseSubcategoryViewModel>>(subcategories); 
    return this.PartialView("_Subcategories", model); 
} 

나는이 번들을 내 _Layout 페이지 하단에 포함 시켰습니다. 내가보기 중 하나에 Ajax.ActionLink를 만들고를 호출 할 때, 컨트롤러에서 변수 "요청"값을 가지고

bundles.Add(new ScriptBundle("~/Content/jquery").Include(
       "~/Scripts/jquery-1.10.2.js", 
       "~/Scripts/jquery.validate.js", 
       "~/Scripts/jquery.unobtrusive-ajax.js", 
       "~/Scripts/jquery.validate.unobtrusive.js")); 

하지만, 요청의 원인은 대신 XHR 반환의 문서는 "거짓 false" 브라우저의 새 탭에서 부분보기.

도움 주셔서 감사합니다. 잘못된 것만 볼 수 있습니다. _Categories보기에서

@model AddItemViewModelBag 
@section styles { 
    <link href="~/Stylesheets/add-item.css" rel="stylesheet" /> 
} 
@{ 
    ViewBag.Title = "Ново изделие"; 
} 


@Html.Partial("_AddItemForm", Model.AddItemBindingModel) 

@Html.Partial("_Categories", Model.Categories) 

@section scripts{ 
    <script src="~/Scripts/add-item.js"></script> 
} 

:

@model IEnumerable<ConciseCategoryViewModel> 

<div class="category-manager hidden-manager"> 
    <div class="categories-container"> 
    <div class="heading">Изберете категория</div> 
    <div id="categories-wrapper"> 
     @Html.DisplayForModel() 
    </div> 
    </div> 
    <div class="subcategories-container"> 
    <div id="subcategories-wrapper"> 
    </div> 
    </div> 
</div> 

그래서
+0

코드가 정상적으로 보입니다. 페이지에 js 오류가 있습니까? 문제는 직접적 새 탭에 저를 리디렉션이다 브라우저 콘솔 – Shyju

+0

을 확인, 그래서 콘솔 새로 고침 내가 오류를 볼 수 없습니다 ... – flacko

+0

"로그인 유지 '를 활성화하고 리디렉션 사이를 유지합니다. 또한'~/스크립트/웹 사이트에서 사용 제대로 브라우저 – Shyju

답변

0

사람은 내가 아약스를 생성하는 뷰를 반환 할 때 어떻게되는지, 문제는 여기에 생각하지 않지만 그리고 ConciseCategoryViewModel

@model ConciseCategoryViewModel 

<div class="category-option" data-category-id="@Model.Id"> 
    @Ajax.ActionLink(
    Model.Name, 
    "Subcategories", 
    "Items", 
    new { Id = Model.Id }, 
    new AjaxOptions() { 
     HttpMethod = "GET", 
     InsertionMode = InsertionMode.Replace, 
     UpdateTargetId = "subcategories-wrapper" 
    }) 
</div> 

나는 여전히 눈에 띄지 않는 부분을 사용할 수 있다고 생각합니다. e, _Layout 페이지에 포함 ...