Czy istnieje HTMLHelper
opcja przesyłania plików? Konkretnie szukam zamiennika
<input type="file"/>
przy użyciu ASP.NET MVC HTMLHelper.
Lub, jeśli użyję
using (Html.BeginForm())
Jaka jest kontrola HTML do przesyłania plików?
asp.net-mvc
razor
file-upload
upload
html-helper
Graviton
źródło
źródło
<input type="file" />
, tylko pole tekstoweMożesz także użyć:
źródło
Miałem to samo pytanie jakiś czas temu i trafiłem na jeden z postów Scotta Hanselmana:
Wdrażanie przesyłania plików HTTP za pomocą ASP.NET MVC, w tym testów i makiet
Mam nadzieję że to pomoże.
źródło
Lub możesz to zrobić poprawnie:
W klasie rozszerzenia HtmlHelper:
Ta linia:
Generuje identyfikator unikalny dla modelu, który znasz na listach i tak dalej. model [0] .Nazwa itp.
Utwórz poprawną właściwość w modelu:
Następnie musisz upewnić się, że Twój formularz wyśle pliki:
Oto twój pomocnik:
źródło
Ulepszona wersja odpowiedzi Pauliusa Zaliaduonisa:
Aby walidacja działała poprawnie musiałem zmienić Model na:
i widok na:
Jest to wymagane, ponieważ @Serj Sagan napisał o atrybucie FileExtension działającym tylko ze stringami.
źródło
Aby użyć
BeginForm
, oto sposób korzystania z niego:źródło
Działa to również:
Model:
Widok:
Działanie kontrolera:
Lista typów contentType
źródło
Wydaje mi się, że jest to trochę hakerskie, ale powoduje zastosowanie prawidłowych atrybutów walidacji itp
źródło