我正在制作一个包含各种领域的MVC表单。这些都是正常的MVC形式
@Html.TextBoxFor(Function(x) x.Auto.Length, New With {.Class = "form-control", .Disabled = True})
这里我想直接在此字段中添加度量单位,在本例中为“mm”。 我已经创建了一个我想直接调用的扩展,但没有成功。
<Extension>
Public Function Add_Appendix(value As Integer, appendix As String) As String
Return value.ToString & " " & appendix
End Function
如果我可以这样称呼它会很好:
@Html.TextBoxFor(Function(x) x.Auto.Length.Add_Appendix("mm"), New With {.Class = "form-control", .Disabled = True})
但后来我收到了错误
模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。
我怎样才能做到这一点? THX。
答案 0 :(得分:1)
*For
助手不允许使用随机表达式,因为它们需要绑定到模型的现有属性。
如果要使用*For
帮助程序,则需要在模型上创建一个表示修订值的属性。
如果你不想这样做,你必须使用没有*For
的帮助者(或根本不使用任何帮助者),例如在你的情况下@Html.TextBox
。
虽然你不应该这样做,因为它只会让你的生活变得更难。您必须确保在发布模型时删除添加的mm
,并确保它不会再次添加mm
。而是将mm
放在文本框之后。