在这里我将从ViewBag中获取一个值。但是出现以下错误。
特定错误消息是
编译器错误消息:CS1973:'System.Web.Mvc.HtmlHelper'没有名为'TextBox'的适用方法,但似乎有一个名称的扩展方法。无法动态分派扩展方法。考虑转换动态参数或调用扩展方法而不使用扩展方法语法。
Controller中的ViewBag
ViewBag.Vat = tx.GetVatDetails().FirstOrDefault().Percentage; // result is 15.0
在我的视图中
@Html.TextBox("vat",ViewBag.Vat); // in here that error occured
我如何解决这个问题?
答案 0 :(得分:12)
这将有效: -
@Html.TextBox("vat",(float)ViewBag.Vat); //Type cast `ViewBag` to float here
将Viewbag
数据投射到float
是有效的,因为无法动态调度扩展方法,而Viewbag
是dynamic
object
这就是为什么我们必须首先将它转换为适当的类型,这里是float
。