【发布时间】:2018-10-29 21:56:27
【问题描述】:
我的用户需要向我的网站添加照片。所以,他们使用<input type="file" />,他们看到了一点预览,然后他们必须去下一页确认一切。
在他们在确认页面上提交确认表单之前,我不想保存上传的照片。这与文件上传输入的页面不同。
HTML + 剃刀
<div class="control-group">
@Html.LabelFor(m => m.SmallLogo, new { @class = "control-label" })
<div class="controls">
@Html.TextBoxFor(m => m.SmallLogo, new { type = "file" })
</div>
</div>
型号
namespace Models.Registration
{
[Serializable]
public class Theme
{
[NonSerialized]
private HttpPostedFileBase _SmallLogo;
[DisplayName("Small Logo: ")]
public HttpPostedFileBase SmallLogo
{
get { return _SmallLogo; }
set { _SmallLogo = value; }
}
}
}
我不确定我需要从我的控制器发布什么,但基本上,我会在通过 HTTP POST 提交页面(表单)时更新模型。起初,在使用调试时,我可以将模型悬停,它们会显示为HttpPostedFileWrapper。然后我将模型字段类型更改为HttpPostedFileBase,但在那之后我收到一个关于它不可序列化的错误。
然后我关注了其他一些关于创建可序列化的私有字段的帖子,然后只是获取和设置该值。现在,当我在提交表单后暂停程序时,模式只是显示为空。太蹩脚了。
如果我遗漏了您需要帮助我的信息,请询问,我会为您获取!帮我帮你帮我! :D
【问题讨论】:
标签: c# asp.net model-view-controller