Existe um HTMLHelper
arquivo para upload? Especificamente, estou procurando uma substituição de
<input type="file"/>
usando o ASP.NET MVC HTMLHelper.
Ou, se eu usar
using (Html.BeginForm())
Qual é o controle HTML para o upload do arquivo?
asp.net-mvc
razor
file-upload
upload
html-helper
Graviton
fonte
fonte
<input type="file" />
, apenas uma caixa de textoVocê também pode usar:
fonte
Eu tive essa mesma pergunta há algum tempo e me deparei com um dos posts de Scott Hanselman:
Implementando o upload de arquivo HTTP com o ASP.NET MVC, incluindo testes e simulações
Espero que isto ajude.
fonte
Ou você pode fazê-lo corretamente:
Na sua classe de extensão HtmlHelper:
Está linha:
Gera um ID exclusivo para o modelo, você sabe em listas e outras coisas. modelo [0] .Nome etc.
Crie a propriedade correta no modelo:
Então você precisa garantir que seu formulário envie arquivos:
Então aqui está o seu ajudante:
fonte
Versão melhorada da resposta de Paulius Zaliaduonis:
Para fazer a validação funcionar corretamente, tive que alterar o modelo para:
e a visão para:
Isso é necessário porque o que @Serj Sagan escreveu sobre o atributo FileExtension trabalhando apenas com strings.
fonte
Para usar
BeginForm
, aqui está a maneira de usá-lo:fonte
Isso também funciona:
Modelo:
Visão:
Ação do controlador:
Lista de contentTypes
fonte
Este é um pouco hacky, eu acho, mas resulta na aplicação correta dos atributos de validação, etc.
fonte