Pytanie Atrybut UIHint w MVC


Co to jest użycie atrybutu UIHint w MVC. Czy ktoś może podać mi prosty przykład, jak go używać i co robi.


20
2017-11-09 18:50


pochodzenie




Odpowiedzi:


Podczas korzystania z szablonu Display lub Editor, UIHint poinformuje go, który szablon ma być użyty:

[UIHint("SomeTemplate")]
public class MyViewModel
{
     public string SomeProperty { get; set; }
}

Jeśli utworzysz szablon wyświetlania o nazwie SomeTemplate.ascx (ponieważ jesteś MVC2) w widokach Widoki / Shared / DisplayTemplates lub Widoki / {Controller} / DisplayTemplates, to użyje tego szablonu, gdy wykonasz:

@Html.DisplayForModel() // if Model is MyViewModel

lub

@Html.DisplayFor(m => m.ModelProperty) // if ModelProperty is of type MyViewModel

edytować
Jeśli chcesz określić to na poziomie właściwości:

public class MyViewModel
{
    [UIHint("Birthday")]
    public DateTime DateOfBirth { get; set; }
}

Można utworzyć szablon wyświetlania / edytora o nazwie Urodziny w folderze DisplayTemplates lub EditorTemplates w folderze / Widoki / Udostępnione lub / Widoki / {Kontroler}. Następnie, gdy wykonasz:

@Html.DisplayFor(m => m.DateOfBirth)

lub

@Html.EditorFor(m => m.DateOfBirth)

Będzie używać szablonu określonego w UIHint


33
2017-11-09 19:05



Dzięki za odpowiedź Świetnie !! Ale w jaki sposób określić na poziomie właściwości .. Proszę podać bardziej wyraźną reprezentację - user1030181
Dang to, właśnie to spędziłem godzinę szukając, jak to zrobić. Dlaczego tak trudno znaleźć tę nieruchomość? - neminem
Nie można użyć na class, tylko na właściwościach i polach. - Mrchief
Twój przykład [UIHint("SomeTemplate")] podnosi błąd kompilatora "Atrybut "UIHint" jest nieprawidłowy dla tego typu deklaracji. Obowiązuje tylko w deklaracjach "własności, indeksatorów, pól"." - ᴍᴀᴛᴛ ʙᴀᴋᴇʀ


Interfejs UIHint może być używany tylko dla właściwości, która nie znajduje się w deklaracji klasy jako Dismissile states. Używam MVC3, więc to mogło się zmienić z MVC2.

"Atrybut" UIHint "jest niepoprawny dla tego typu deklaracji, dotyczy tylko deklaracji" własności, indeksowania, pola "


15
2018-01-04 09:25