[英]@Html.Action is mirrioring my website from a partial view with no reference to the layout page?
我的Post
Views文件夾中有一個名為GetSimilarPosts
的PartialView
,在我的主要詳細信息頁面中,我具有以下鏈接:
@Html.Action("GetSimilarPosts", "Post", new { id = Model.CurrentPost.Category.Id })
這是部分視圖:
@model IEnumerable<MyBlogger.Models.Post>
@foreach (var item in Model)
{
<p class="text-left">Similar Article: <a href="@Url.Action("Details", "Post", new { urlslug = item.UrlSlug })">@Html.DisplayFor(modelItem => item.Title)</a></p>
}
但是正在發生一些奇怪的事情...部分視圖沒有引用我的布局頁面,而是在加載maindetails時以某種方式復制了我的整個頁面:
在控制器中,您是使用View
還是PartialView
返回
視圖將與母版頁一起呈現,PartialView將僅呈現該視圖
public ActionResult GetSimilarPosts(int id) {
var model = _repository.GetSimilarPosts(id); // data retrieval
return PartialView("_viewName", model);
}
這是因為您使用的方法不正確...而不是@Html.Action
使用@Html.Partial
。
@Html.Action()
將在您的Controller上執行一個Action,然后返回結果,Html.Partial將不執行任何操作,而是僅返回指定的PartialView。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.