Proste pytanie: jeśli używasz Pomocnika HTML z ASP.NET MVC Framework 1, łatwo jest ustawić domyślną wartość w polu tekstowym, ponieważ występuje przeciążenie Html.TextBox(string name, object value)
. Kiedy próbowałem użyć metody Html.TextBoxFor , moje pierwsze podejrzenie polegało na wypróbowaniu następujących, które nie działały:
<%: Html.TextBoxFor(x => x.Age, new { value = "0"}) %>
Czy powinienem na razie trzymać się Html.TextBox (ciąg, obiekt)?
c#
asp.net-mvc-2
html-helper
d skompilowany
źródło
źródło
Odpowiedzi:
możesz tego spróbować
źródło
To powinno działać dla MVC3 i MVC4
Jeśli chcesz, aby było to ukryte pole
źródło
Okazuje się, że jeśli nie określisz metody Model w widoku w kontrolerze, nie utworzy ona dla ciebie obiektu z wartościami domyślnymi.
źródło
Instructor
?Wartość domyślna będzie wartością twojej
Model.Age
nieruchomości. To w pewnym sensie cała sprawa.źródło
Możesz po prostu zrobić:
lub lepiej, spowoduje to przełączenie na wartość domyślną „0”, jeśli model ma wartość null, na przykład jeśli masz ten sam widok do edycji i tworzenia:
źródło
wartość = „0” ustawi wartość domyślną dla @ Html.TextBoxfor
rozróżniana wielkość liter „v” powinna być wielka
Poniżej działa przykład:
źródło
Oto jak to rozwiązałem. Działa to, jeśli używasz tego również do edycji.
źródło
To praca dla mnie
źródło
Używanie
@Value
to hack, ponieważ generuje dwa atrybuty, np .:Zamiast tego powinieneś to zrobić:
źródło
to działało dla mnie, w ten sposób ustawiamy wartość domyślną na pusty ciąg
źródło
Jeśli masz częściowy formularz strony zarówno do edycji, jak i dodawania, wówczas sztuczką, której używam do wartości domyślnej,
0
jest wykonanie następujących czynności:W ten sposób będzie to
0
ustawione, jeśli jest rozbrojone lub faktyczny wiek, jeśli istnieje.źródło
Spróbuj również, to znaczy usuń nowy {} i zastąp go ciągiem.