无法在Textbox中动态分派扩展方法

时间:2014-08-24 09:34:17

标签: c# asp.net-mvc entity-framework asp.net-mvc-5

在这里我将从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

我如何解决这个问题?

1 个答案:

答案 0 :(得分:12)

这将有效: -

@Html.TextBox("vat",(float)ViewBag.Vat);  //Type cast `ViewBag` to float here

Viewbag数据投射到float是有效的,因为无法动态调度扩展方法,而Viewbagdynamic object这就是为什么我们必须首先将它转换为适当的类型,这里是float