1

我试图为文件上传生成一个视图,但上传部分丢失,其余班级成员为他们生成了视图

查看模型

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 可以生成的内容是否有限制?

4

1 回答 1

1

是的,这是标准行为。您可以检查默认的 T4 模板并查看它是如何工作的,它应该位于C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddView\CSHTML\Create.tt

最重要的方法是GetEligibleProperties- 如您所见,它仅获取原始类型(公共类型等)。

HttpPostedFile下面是一个在ASP.NET MVC项目中处理的例子EditorFor()可以用来创建<input type="file">吗?

于 2012-10-02T09:17:56.317 回答