更新在ASP.NET MVC 3中上载到SQL Server的映像

时间:2011-09-26 10:59:37

标签: c# asp.net-mvc asp.net-mvc-3

我已使用ASP.NET MVC 3 C#在我的SQL Server上成功上传了一个Image。

此外,我已成功在“索引”视图中成功显示/下载了该图像。

但是,在数据的“编辑”视图中出现问题

如果通过在视图中选择文件更改了图像,新图像将存储在数据库中,一切正常。

但是当用户不更改图像时,存储在SQL Server中的值为空?

如何避免这种情况。

,如果在编辑视图中未选择/更新图像,则不应将数据库中先前存储的图像更新为空值。

2 个答案:

答案 0 :(得分:2)

问题是,当用户不更改图像时,帖子不包含图像数据。您正在直接更新表格中的所有字段,因此将图片字段设置为NULL

您可以检查您是否确实在帖子中收到了图片,并且未在更新语句中将其设置为NULL,或者将图片上传提取为单独的操作。对于用户来说,为图像上传设置一个明确分开的UI可能更加友好(否则他们可能会混淆:如果我编辑其他字段,我的图像会消失吗?)

答案 1 :(得分:0)

对于编辑页面,您应该添加以前存储的默认帖子数据。

如果您未在编辑表单中提供默认值(默认值应来自先前存储的数据),则表单将与NULL数据一起提交。

在这种情况下,您将在更新期间获得NULL

希望这个问题对你有很大的帮助 -

How update/edit uploaded files in asp.net mvc 5 without redundancy?