ASP.NET详细信息视图-编辑为空值错误
我正在Visual Studio 2010中使用ASP.NET 我有一个以购物车为特色的网站,用户可以注册,使用RequiredFieldValidator控件进行验证,这意味着他们必须输入某些字段的内容,例如地址1/电子邮件。这还绑定到一个数据库,该数据库对于这些字段不允许空值 我的问题是在登录、向购物车添加物品、数量等之后,我有一个确认订单页面-与大多数在线购物网站类似,购物篮与用户的客户详细信息一起显示,通过详细信息视图显示,连接到SqlDataSource,该SqlDataSource正在运行一个查询,该查询只显示先前输入的发货详细信息 但是,如果我说selectedit,它使用DetailsView自己的属性并将Address1行更改为nothing,DetailsView在接受后将其作为null值发送,结果整个过程崩溃 我尝试过以下例子:ASP.NET详细信息视图-编辑为空值错误,asp.net,visual-studio-2010,error-handling,null,detailsview,Asp.net,Visual Studio 2010,Error Handling,Null,Detailsview,我正在Visual Studio 2010中使用ASP.NET 我有一个以购物车为特色的网站,用户可以注册,使用RequiredFieldValidator控件进行验证,这意味着他们必须输入某些字段的内容,例如地址1/电子邮件。这还绑定到一个数据库,该数据库对于这些字段不允许空值 我的问题是在登录、向购物车添加物品、数量等之后,我有一个确认订单页面-与大多数在线购物网站类似,购物篮与用户的客户详细信息一起显示,通过详细信息视图显示,连接到SqlDataSource,该SqlDataSource正
Protected Sub DetailsView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewPageEventArgs) Handles DetailsView1.PageIndexChanging
Try
Catch ex As Exception
lblError.Text = "Please verify changes made to Customer Details."
End Try
End Sub
Protected Sub DetailsView1_ItemUpdating(ByVal sender As Object, ByVal e As DetailsViewUpdateEventArgs) Handles DetailsView1.ItemUpdating
Try
Catch ex As Exception
lblError.Text = "Please verify changes made to Customer Details."
End Try
End Sub
Protected Sub detailsView1_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdateEventArgs) Handles DetailsView1.ItemUpdating
Try
Catch ex As Exception
lblError.Text = "Please verify changes made to Customer Details."
End Try
End Sub
因此,基本上,尝试
/Catch
语句,它对其他所有语句都有效。但是因为我无法访问任何适当的代码来查看DetailsView,因为它刚刚从VisualStudio中获取,所以我被难住了。现在我很好奇,到处找了找,找不到什么,任何东西看起来都和我在那里尝试过的相似,但它们没有什么区别
我想尝试为这种情况创建/找到某种形式的错误处理,类似于注册,如果保留为空则不继续发送到服务器,或者显示消息
这是错误的主要部分:
[SqlException (0x80131904): Cannot insert the value NULL into column 'Address1', table 'C:\USERS\xxxx\PROJ (2)\PROJ\APP_DATA\ORDERS.MDF.dbo.Customer'; column does not allow nulls. UPDATE fails.
The statement has been terminated.]
我错过了一些简单的东西?我们正在考虑创建文本框并单独连接到数据库的选项,但这是一种完全不同的方法,而且DetailsView中有非常好的、简单的可自定义选项 嗯……典型的情况是,我花了几个星期的时间对这个问题感到困惑,但我在发布问题后就设法得到了答案
对于对此感兴趣的人,我在代码中使用了“If e.Exception Is Nothing Then”语句,类似于我尝试的两个底部示例,然后使用了Try/Catch语句 此问题:e.Exception不是DetailsViewUpdateEventArgs的有效属性。它用于详细信息VIEWUPDATEDVENTARGS(注意“更新”和“更新”之间的区别)。那么,解决方案可能涉及另一个事件?