我尝试为文件上传生成视图,但上传部分丢失了,其余的成员会为他们生成视图
查看模型
namespace myapps.Models.ViewModels
{
public class UserPhotoUploadViewModel
{
public HttpPostedFile PhotoFile
{
get;
set;
}
public Guid UserID
{
get;
set;
}
}
}
生成视图
@model myapps.Models.ViewModels.UserPhotoUploadViewModel
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>UserPhotoUploadModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.UserID)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserID)
@Html.ValidationMessageFor(model => model.UserID)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
我预计会填补其余部分吗?这是一种常见的行为吗?asp.net MVC3可以产生什么限制?
答案 0 :(得分:1)
是的,这是标准行为。您可以检查默认的T4模板并查看其工作原理,它应位于C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddView\CSHTML\Create.tt
最重要的方法是GetEligibleProperties
- 你可以看到它只有原始类型(公共等等)。
以下是在ASP.NET MVC项目中处理HttpPostedFile
的示例Can EditorFor() be used to create <input type="file">?