/ / Kann ich @ Html.TextBoxFür eine andere Klasse (kein Modell) verwenden? - c #, Formen, Rasierer

Kann ich @ Html.TextBoxFür eine andere Klasse (kein Modell) verwenden? - c #, Formen, Rasiermesser

Ich habe eine Rasiermesser-Ansicht, die ein Modell und ein Filterformular enthält (zur Suche). Außerdem wurde eine Klasse searchStruct.cs definiert:

public class searchStruct
{
public string SearchPattern { get; set; }
public DateTime? From { get; set; }
public DateTime? To { get; set; }
}

und ich benutze gerne den TextBoxFor Helper und verwende ihn mit searchStruct anstelle von model. Ist es möglich?

Antworten:

1 für die Antwort № 1

Ja, Sie sollten Ihr Hauptansichtsmodell einfach aktualisieren, sodass es eine Eigenschaft dieses Typs enthält:

public class MyViewModel
{
public searchStruct SearchStruct { get; set; }

... // some other properties of your view model
}

und dann in deiner stark getippten Ansicht:

@model MyViewModel
...
@Html.TextBoxFor(x => x.SearchStruct.SearchPattern)

Im Grunde bedeutet diese Antwort, dass Sie ein Ansichtsmodell verwenden sollten, anstatt Ihre Domänenobjekte an die Ansicht zu übergeben.