Rop*_*tah 2 asp.net-mvc linq-expressions strongly-typed-helper
我正在创建一个强类型帮助器(参考:SO问题).如下面的代码中的'评论',是否有可能以某种方式从表达的属性中获取值,从而绕过可选selectedValue参数?
<Extension()> _
Public Function DatePickerFor(Of TModel As Class, TProperty)(ByVal htmlHelper As HtmlHelper(Of TModel), ByVal expression As Expression(Of Func(Of TModel, TProperty)), Optional ByVal selectedValue As Nullable(Of Date) = Nothing) As MvcHtmlString
Dim inputName = ExpressionHelper.GetExpressionText(expression)
Dim inputValue = selectedValue
//Something like this possible?
//inputValue = ExpressionHelper.GetExpressionValue(expression)
Return DatePicker(htmlHelper, inputName, inputValue)
End Function
Run Code Online (Sandbox Code Playgroud)
如果要获取表达式指向的相应属性的值,可以使用FromLambdaExpression方法:
Dim metadata = ModelMetadata.FromLambdaExpression(expression)
Dim value = metadata.Model
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |