问题描述
我正在尝试将该数据传递给我的视图。我已经环顾四周,我可以做什么或我可以使用哪种方式或其他东西,但是当我调用 ViewBag.passData
时,我仍然收到空异常错误。
这是我的BaseController
:
public class BaseController : Controller
{
public Baseviewmodel baseviewmodel;
public readonly IUnitOfWork<SiteSetting> _unitOfWorkSiteSetting;
public readonly IUnitOfWork<Category> _unitOfWorkCat;
public BaseController(
IUnitOfWork<SiteSetting> unitOfWorkSiteSetting,IUnitOfWork<Category> unitOfWorkCat)
{
_unitOfWorkSiteSetting = unitOfWorkSiteSetting;
_unitOfWorkCat = unitOfWorkCat;
baseviewmodel = new Baseviewmodel
{
SiteSettings = _unitOfWorkSiteSetting.RepositorySiteSettings.GetSiteSettingsByID(2),//1-Admin,2-Shopping,3-WebFair
IsFeaturedCategories = _unitOfWorkCat.RepositoryCategory.IsFeaturedCategoriesAsNoTracing(10)
};
ViewBag.passData = baseviewmodel;
}
}
正如你所看到的,我在那个 Baseviewmodel
中填写了我的 BaseController
。
我试图这样做,因为我在每个页面中调用这些数据。
当我在我看来调用 ViewBag.passData
时,我收到空异常错误。
这是我的观点:
@model Indexviewmodel;
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration
@{ ViewData["Title"] = "Anasayfa";
Layout = null;
Baseviewmodel baseviewmodel = new Baseviewmodel();
baseviewmodel = ViewBag.passData; ***//The point where i am getting that error***
var siteKey = Configuration.GetSection("GoogleRecaptcha").GetSection("RecaptchaV3SiteKey").Value ?? "";
}
<!DOCTYPE html>
<html lang="tr">
<head>
<partial name="_HeadPartial" />
<!-- RECAPTCHA JS-->
<script src="https://www.google.com/recaptcha/api.js?render=@siteKey"></script>
<!-- RECAPTCHA JS-->
</head>
It goes like that....
我已经检查了我的 BaseController
并且它运行良好。
感谢您的任何建议!
解决方法
你可以做 return View(VieModel)
然后在您的 .cshtml 视图中,您可以添加您传递到视图中的类型的 @model