我的 MVC 应用程序上有一个页面,用户可以在其中编辑/上传数据到数据库。
基本上,网站上有一个名为“管理员”的链接,他们单击此处,登录并显示一个页面,该页面允许他们更改/更新网站“特别优惠”部分显示的数据。
“Admin”部分包含一些文本区域,用于显示数据库表中包含的数据。然后,用户可以更改这些文本区域中显示的数据并单击“更新”按钮,然后将这些数据上传到数据库,然后网站中的“特别优惠”页面将这些新更新的数据显示给公众。
我遇到的问题是,如果正在编辑数据的用户尝试使用没有数据的文本区域更新数据库,则不会加载“特价商品”页面(它返回如下所示的错误)。我检查了数据库表的“Nullable”选项设置为“True”,但这没有区别。
[错误]
“/”应用程序中的服务器错误。
你调用的对象是空的。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。源错误:
Line 25: @Html.Raw(tbl_special_offers.offer3.Replace(Environment.NewLine, "<br/>"))
这是“特价商品”视图用于访问数据库和显示数据的代码(使用 Visual Web Developer Express):
@model IEnumerable<bhgc.Models.tbl_special_offers>
@{
ViewBag.Title = "Special Offers";
}
<div>
<fieldset>
<legend>Special Offers</legend>
<br />
@foreach (var tbl_special_offers in Model)
{
<div style="overflow: hidden; width: 100%;">
<div style="float: left; width: 40%; height: 50%; margin-left: 50px; border: 1px solid #ddd; padding: 15px;">
@Html.Raw(tbl_special_offers.offer1.Replace(Environment.NewLine, " <br/>"))
</div>
<div style="float: right; width: 40%; height: 50%; margin-right: 50px; border: 1px solid #ddd; padding: 15px;">
@Html.Raw(tbl_special_offers.offer2.Replace(Environment.NewLine, " <br/>"))
</div>
</div>
}
</fieldset>
</div>
无论如何,是否允许该字段为空,或者在更新时自动在该字段中附加一个空格,以便当公众查看“特价商品”页面时它不会返回错误?
相关网站和页面目前在http://www.boarsheadgolfcentre.co.uk/Home/Special上公开
非常感谢。