我正在嘗試在 EpiServer 報告中心構建自定義報告以顯示所有用戶的表格。
我創建了一個 ViewModel 并試圖填充一個名為 UserStore 的變數:
using EPiServer.Cms.UI.AspNetIdentity;
using Microsoft.AspNet.Identity.EntityFramework;
namespace WebProject.Site.Models.ViewModels
{
public class UsersReportViewModel
{
UserStore<ApplicationUser> userStore = new UserStore<ApplicationUser>(new IdentityDbContext("EPiServerDB"));
return userStore;
}
}
我希望能夠像這樣從我的角度訪問它:
@model UsersReportViewModel
@{
Layout = null;
}
<div class="users-table">@Model.userStore;</div>
我目前收到兩個錯誤:
- 在 ViewModel 中,它說回傳 UserStore;
名稱 userStore 在當前背景關系中不存在。
- 在視圖中:
UsersReportViewModel.userStore 由于其保護級別而無法訪問
uj5u.com熱心網友回復:
- 它不是公開的,因此您無法獲得它。將
public訪問修飾符添加到開始以訪問它。
2)訪問/設定值,如
public UserStore<ApplicationUser> userStore
{
get{
if(this.value == null){
this.value = new UserStore<ApplicationUser>
(new IdentityDbContext("EPiServerDB"));
return this.value;
}
else
return this.value;
}
}
uj5u.com熱心網友回復:
你可以試試這個,但它是一個非常不尋常的視圖模型,我不知道你打算如何在視圖中使用它。它不是 .php,您需要使用它的屬性,但我看不到 UserStore 類。
public class UsersReportViewModel
{
private UserStore<ApplicationUser> _userStore;
public UserStore<ApplicationUser> UserStore
{
get { if ( _userStore== null )
_userStore = new UserStore<ApplicationUser>
(new IdentityDbContext("EPiServerDB"));
return _userStore;
}
set { _userStore = value; }
}
}
你需要行動來移動這個模型。里面的動作應該是
var model= new UsersReportViewModel();
return View(model);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317079.html
