不能在文本框中动态分派扩展方法
本文关键字:分派 扩展 方法 动态 文本 不能 | 更新日期: 2023-09-27 18:19:12
这里我将从ViewBag中获取一个值。但是下面出现错误。
Specific Error Message is
编译错误信息:CS1973: 'System.Web.Mvc. 'HtmlHelper'没有适用的名为'TextBox'的方法,但似乎有一个同名的扩展方法。不能动态分派扩展方法。考虑强制转换动态参数或调用扩展方法而不使用扩展方法语法。
ViewBag in Controller
ViewBag.Vat = tx.GetVatDetails().FirstOrDefault().Percentage; // result is 15.0
In my View
@Html.TextBox("vat",ViewBag.Vat); // in here that error occured
如何解决这个问题?
可以:-
@Html.TextBox("vat",(float)ViewBag.Vat); //Type cast `ViewBag` to float here
将Viewbag
数据转换为float
工作,因为扩展方法不能动态调度,Viewbag
是dynamic
object
,这就是为什么我们必须首先将其类型转换为适当的类型,即这里的float
。