[英]Can't pass data from model into Partial View
問題是我無法將數據從模型傳遞到PartialView。 這是我的方法。
我的PartialsController.cs
public PartialViewResult _GridView()
{
var currentUser = UserManager.FindById(User.Identity.GetUserId());
var ranks = ApplicationDbContext.Ranks.ToList();
foreach (var item in ranks)
{
if (currentUser.ReputationPoints > item.ReputationPoints && currentUser.ReputationPoints < item.PointsToAdvance)
{
currentUser.UserRankId = item.Id;
ApplicationDbContext.Entry(currentUser).State = EntityState.Modified;
ApplicationDbContext.SaveChanges();
}
}
var Rank = ApplicationDbContext.Ranks.SingleOrDefault(c => c.Id == currentUser.UserRankId);
return PartialView(currentUser);
}
我的部分視圖稱為_GridView.cshtml
@model Destiny.Models.ApplicationUser
@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
{
@Html.AntiForgeryToken()
<ul class="nav navbar-nav navbar-right">
<li>
@Html.ActionLink("Zalogowano jako " + Model.CurrentUser.Gamertag, "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
</li>
<li><a href="javascript:document.getElementById('logoutForm').submit()">Wyloguj</a></li>
</ul>
}
}
else
{
<ul class="nav navbar-nav navbar-right">
<li>@Html.ActionLink("Zarejestruj", "Register", "Account",routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
<li>@Html.ActionLink("Zaloguj", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
</ul>
}
partialView需要另一個ViewModel(順便說一下,這是用於我的Home / Index),事實是我100%確信我在傳遞數據時做錯了什么,但我不知道這是什么。 這是我第一次弄亂局部視圖。
采用
@Html.RenderAction
代替
@Html.Partial( in the layout –
這條路
@{Html.RenderAction("_GridView");}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.