0

TagHelpersには、通常、ModelプロパティにTagHelperを接続するためのasp-という名前のプロパティがあります。ASP.NET Core TagHelpersの式

私はカスタムTagHelperを作成し、そしてASP-のためのようにプロパティを追加しました:バウンドモデルは、サブクラスとの複合型であると私はそのプロパティへのフルパスが必要な場合は、

[HtmlTargetElement("myinput", TagStructure = TagStructure.WithoutEndTag)] 
    public class MyInputTagHelper : TagHelper { 
     public ModelExpression Field { get; set; } 
    } 

通常、I System.Linq.Expressions.Expressionを評価することにより、完全なアクセスパスを取得できます。 ModelExpressionでこれをどうやって実現できますか?

public class PersonVM 
{ 
    public Person Person { get; set; } 
} 

と.cshtmlで

:TagHelper MyInputTagHelper

@model PersonVM 

<myinput field="Person.PersonAddress.City"/> 

が、私は完全な要求のパスを必要とする

は私がモデルを持っています。この例では、 "Person.PersonAddress.City"となります。私が得ることができるのはField.Metadata.PropertyNameです。

答えて

0

私はそれを得た[OK]を、元の式は

ModelExpression.Name 
に保存されます