微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不含@的ViewBag

如何解决不含@的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>

ViewBagWebPageView上动态视图的来源。

您可以在此处了解Razor语法:https://docs.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/introducing-razor-syntax-c

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。