Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在一个简单的Viewbag.Title中,获取RuntimeBinderException_C#_Asp.net Mvc_Razor_Viewbag - Fatal编程技术网

C# 在一个简单的Viewbag.Title中,获取RuntimeBinderException

C# 在一个简单的Viewbag.Title中,获取RuntimeBinderException,c#,asp.net-mvc,razor,viewbag,C#,Asp.net Mvc,Razor,Viewbag,我有一个非常简单的ViewBag.Title。像这样: @{ ViewBag.Title = "My Title"; ViewBag.MiniTitle = "Sub - Title"; } 正在 <title>@ViewBag.Title</title> 我一直在搜索,但找不到太多关于它的信息。这基本上是这个家伙所面临的问题: 我的问题也和上一个发帖子的人一样。这不会给我带来任何问题,项目很好,我的标题也很好。然而,我不喜欢由于异常代价高昂而抛出异常

我有一个非常简单的ViewBag.Title。像这样:

@{
    ViewBag.Title = "My Title";
    ViewBag.MiniTitle = "Sub - Title";
}
正在

<title>@ViewBag.Title</title>
我一直在搜索,但找不到太多关于它的信息。这基本上是这个家伙所面临的问题:

我的问题也和上一个发帖子的人一样。这不会给我带来任何问题,项目很好,我的标题也很好。然而,我不喜欢由于异常代价高昂而抛出异常的事实


有人知道我如何解决这个问题吗?谢谢

我试图在没有运气的情况下重新生成上述问题

您已在母版页中设置了ViewBag.Title,并且此错误似乎发生在未定义ViewBage.Title的另一个视图中 财产

因为ViewBag.Title是母版页的局部变量,所以其他视图将无法获取它并抛出所述错误

现在,尝试在标记中使用ViewBag.minitTitle。 你还在犯同样的错误吗


请共享。

可能是您在声明之前正在使用@ViewBag.Title,例如,如果您的布局文件

<title>@ViewBag.Title</title>

尝试在控制器操作中设置ViewBag.Title,以便在调用View()之前可以使用它。

我尝试了这个方法,它对我有效:

@(ViewBag.GetType().GetProperty("Title") == null ? "" : ViewBag.Title)
这是个老生常谈的问题,但也许对某人有帮助


尊敬。

您的DLL已损坏。我通过从我的同事那里复制Microsoft.CSharp.dll来修复它。
位置是C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETFramework\v4.7(您根据自己的版本调整的最后一个文件夹)

我遇到了类似的问题。我能修复它的唯一方法是将ViewBag.Title更改为ViewData[“Title”]。从技术上讲,ViewBag和ViewData是一样的,ViewData使用起来更快,但您必须键入cast。。。但是,如果它是一个字符串,由于它将自动调用ToString,因此在没有强制转换的情况下似乎可以正常工作。

如果使用viewdata,会发生什么情况,然后会出现错误吗?可能重复的问题:祝你好运。我没有尝试viewdata。我遵循默认的ViewBag.Title,但它抛出了一个异常。这不正常。另外,我不认为你的链接是重复的,对这个问题。我们在谈论不同的事情。你是在问问题还是在回答?简单的英语如果你能理解的话,这就不是答案!如果您面临任何问题,请单击按钮发布新问题,或者您可以在特定线程上留下评论,要求解决或进一步澄清。请查看我提供的链接。我相信它向您展示了如何接收此错误。这不是一个真正的错误,但你知道我的意思。任何Viewbag都会抛出该异常。这可能就是问题所在。但是,在View.chstml中,@{ViewBag已定义},在RenderBody()之前,首先在Layout.cshtml上调用它。也许是这样,但你还能怎么做呢?这是标准的方法。我更喜欢使用ViewModels作为企业应用程序的更健壮的解决方案。对于少量数据,可以在控制器的操作中设置ViewBag。在视图中设置ViewBag通常是个坏主意。我也遇到了这个问题,奇怪的是它包含在默认的asp.net模板中
@{
    ViewBag.Title = "My Title";
    ViewBag.MiniTitle = "Sub - Title";
}
@(ViewBag.GetType().GetProperty("Title") == null ? "" : ViewBag.Title)