如何解决不含@的ViewBag
我不明白为什么我们有时会在不引用View中Controller的情况下有时使用ViewBag的情况(我的意思是@),例如:
@{
string urlFilter = Url.Action("Index","Home",new
{
CustID = ViewBag.custid,Errors = ViewBag.errors
});}
它看起来像是c#代码的一部分。我知道剃刀合成器允许我们将C#代码注入到View中,但不了解在View中不使用@的情况下使用ViewBag有什么意义
解决方法
在这种情况下是因为它在C#代码块(@{ ... }
)的范围内,而不在HTML标记中。
但是,如果您试图在HTML块中引用ViewBag内联,则需要在其前面加上@
前缀,以确保它由Razor引擎处理。
例如:
<p>@ViewBag.Name</p>
ViewBag
是WebPageView
上动态视图的来源。
您可以在此处了解Razor语法:https://docs.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/introducing-razor-syntax-c
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。