2

強く型付けされたヘルパーを作成しています (ref: SO question )。以下のコードで「コメント」されているように、表現されたプロパティから何らかの方法で値を取得して、オプションの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
4

1 に答える 1

9

式が指している対応するプロパティの値を取得する場合は、 FromLambdaExpressionメソッドを使用できます。

Dim metadata = ModelMetadata.FromLambdaExpression(expression)
Dim value = metadata.Model
于 2011-01-29T08:32:50.407 に答える