0
我有一个用于我的webforms项目的html helper类。到目前为止,它可以返回字符串来创建标签和只读字段。如何将一个属性传递给html帮助器方法
Public Shared Function DisplayFor(value As String, Optional attributes As String = "") As String
Return [String].Format("<span class='uneditable-input {0}'>{1}</span>", GetSStyle(attributes), value)
End Function
现在我想创造一些重载可以接受通过实体属性,因此它可以在内部检查的数据类型(从属性),并显示格式化的内容,例如。就像MVC一样。
唯一的问题是,我不知道如何传递一个类属性作为函数参数。
我试着实现你描述的签名,并且我得到一些错误。如果我在代码隐藏中调用:“未为'public func ...'的参数'expr'指定的参数”并且“Parameter'm'将属性MyForm.m隐藏为MytableRow' 如果我将它包含在标记中:”Can not将类型'lambda表达式'转换为参数类型'String'。 请记住,我在webforms中使用这个函数,并没有Html对象或MVC解析。 – Sergio
@Sergio:对不起,一切看起来“如此MVC”,我走错了方向。我已经更新了我的答案,以显示没有MVC帮手的方式。 – Markus
编辑完成后,代码运行良好。然而,我不得不这样做这样的调用:<%= DisplayFor(myModelVar,Function(m As myModelVarClass)m.MyProperty)%>这有点烦人。有没有办法消除定义m类型的需要,还是必须通过MyRow并只从字段中获取值?无论如何,谢谢。那小小的代码将会让我无法写出很多东西! – Sergio