加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何防止FormView在Insert方法被触发后清除用户输入

发布时间:2020-12-16 07:43:23 所属栏目:asp.Net 来源:网络整理
导读:我一直在努力让FormViews按照微软预期的方式工作大约一天,并且已经找到了很多很棒的东西. 我可以在ObjectDataSource.Inserting事件处理程序中捕获e.Exception和e.ReturnValue,我甚至可以通过检查e.ObjectInstance来欺骗和检查ObjectDataSource.ObjectDisposi
我一直在努力让FormViews按照微软预期的方式工作大约一天,并且已经找到了很多很棒的东西.

我可以在ObjectDataSource.Inserting事件处理程序中捕获e.Exception和e.ReturnValue,我甚至可以通过检查e.ObjectInstance来欺骗和检查ObjectDataSource.ObjectDisposing中Object的其他属性……我甚至了解到FormView的插入处理程序在ObjectDisposing处理程序之后运行所以如果发现问题,我仍然有时间对它做出反应并在FormView上将e.KeepInInsertMode设置为true.

我的问题是,似乎用户输入到Insert表单中的值无论如何都被清除.

那么,在插入方法被触发后,如何防止FormView清除?

(使用ASP.NET VB)

我不认为在这里发布我的代码会真的做得很好,我将不得不修改它以删除机密业务逻辑的东西……所以我现在就跳过它.

编辑:

我找到了一个临时且公认的非常狡猾的解决方案(如果没有人找到真正的解决方案).

我有一个页面变量定义为:

Dim eInsertArgs As FormViewInsertedEventArgs

然后我在ItemInserted处理程序中执行以下操作

If boolInsertErrorOccurred = False Then
        e.KeepInInsertMode = True
        eInsertArgs = e
    Else
        eInsertArgs = Nothing
    End If

然后在每个控件上我有这样的控件数据绑定事件:

If IsNothing(eInsertArgs) = False Then
        Dim _sender As TextBox = sender
        _sender.Text = eInsertArgs.Values("_FieldName")
    End If

这样做的结果是我在将ASP.NET绑定到默认(空白)模板后将值设置为提交的值.

请帮我找一个不太可怕的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读