【发布时间】:2019-01-16 23:55:21
【问题描述】:
使用我当前的以下代码,我可以获取文件并在选择选项中输出它们,但是如果用户在未选择图像的情况下提交表单,则会出现错误 " 对象引用未设置为对象的实例。"
我在模型中有 merch_image 必需。 如何使用 razor 进行以下选择,以免绕过必需项?
控制器:
public ActionResult Create()
{
DirectoryInfo dirInfo = new DirectoryInfo(@"//uploads/stamp_images");
ViewBag.Message = dirInfo.GetFiles().ToList();
return View();
}
查看:
<select class="form-control col-sm-3" id="merch_image" name="merch_image">
<option selected disabled="disabled">Select</option>
@foreach (var item in ViewBag.Message)
{
<option value="@item.Name"> @item.Name</option>
}
</select>
@Html.ValidationMessageFor(model => model.merch_image, "", new { @class = "text-danger" })
【问题讨论】:
-
不确定您的
select列表将如何显示基于上述内容的 array。我没有看到一个循环(尽管@item建议有一个......)。通常,您会为此使用@Html.DropDownListFor助手。另外,处理POST的代码在哪里?希望它检查Model.IsValid是否进行验证检查(在运行引发异常的代码之前)。 -
抱歉,我只是编辑显示循环
标签: c# asp.net-mvc razor