本人在做.net mvc项目时,遇到后台向前台传值发生异常,具体如下:
后台代码:
[HttpGet]
public ActionResult CompanyTemplateList(int companyId)
{
ViewBag.CompanyId = companyId;
ViewBag.ControllerName = "模板短信";
ViewBag.Title = "模板列表";
ViewBag.LastTemplateTypeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
return View();
}
前台页面接收ViewBag.CompanyId代码
@{
int companyId = ViewBag.CompanyId;
string url = Url.Action("GetCompanyTemplateListJson", "Company", new { companyId = ViewBag.CompanyId });
}
var url = "@url"
其中 var url = "@url" 抛异常如下:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
HResult=0x80131500
Message=无法对 null 引用执行运行时绑定
Source=<无法计算异常源>
StackTrace:
<无法计算异常堆栈跟踪>
在 ASP._Page_Areas_Admin_Views_Company_CompanyTemplateList_cshtml.Execute() 在 E:\Projects\vs2019\MySms\Presentation\MySms.Web\Areas\Admin\Views\Company\CompanyTemplateList.cshtml 中: 第 11 行
在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
在 System.Web.WebPages.StartPage.RunPage()
在 System.Web.WebPages.StartPage.ExecutePageHierarchy()
在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
在 System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult
找了一天找不到原因,还请各位大神帮忙给看看,谢谢!
建议断点查看id是否传入,前端打印id是否获取到