Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET详细信息视图-编辑为空值错误_Asp.net_Visual Studio 2010_Error Handling_Null_Detailsview - Fatal编程技术网

ASP.NET详细信息视图-编辑为空值错误

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正

我正在Visual Studio 2010中使用ASP.NET

我有一个以购物车为特色的网站,用户可以注册,使用RequiredFieldValidator控件进行验证,这意味着他们必须输入某些字段的内容,例如地址1/电子邮件。这还绑定到一个数据库,该数据库对于这些字段不允许空值

我的问题是在登录、向购物车添加物品、数量等之后,我有一个确认订单页面-与大多数在线购物网站类似,购物篮与用户的客户详细信息一起显示,通过详细信息视图显示,连接到SqlDataSource,该SqlDataSource正在运行一个查询,该查询只显示先前输入的发货详细信息

但是,如果我说selectedit,它使用DetailsView自己的属性并将Address1行更改为nothing,DetailsView在接受后将其作为null值发送,结果整个过程崩溃

我尝试过以下例子:

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(注意“更新”和“更新”之间的区别)。那么,解决方案可能涉及另一个事件?