当前位置:编程学习 > C#/ASP.NET >>

formview中ItemUpdating事件 e.newvalues 没有值

 
    Public 文章 As New Model.文章
    Public article As New Logic.Article
    Protected Sub FormView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView1.ItemUpdating
        文章.标题 = e.NewValues.Item("标题").ToString
        文章.内容 = e.NewValues.Item("内容").ToString

        If article.edit(文章) Then
            WebUI.Msg("修改成功!")
            FormView1.ChangeMode(FormViewMode.ReadOnly)
            FormView1.DataSource = article.detail(文章)
            FormView1.DataBind()
        Else
            WebUI.Msg("修改失败!")
        End If
    End Sub

我用一个返回Datatable的函数绑定到Formview1,上面的“文章”是个Model实体类。
我想用NewValues得到修改后的值,然后Update。但取不到值。
运行到
文章.标题 = e.NewValues.Item("标题").ToString
时提示:


未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 



行 29:         文章.标题 = e.NewValues.Item("标题").ToString
行 30:         文章.内容 = e.NewValues.Item("内容").ToString
行 31: 
 

源文件: E:\web\学生天地\xstd2.x\WebUI\guanli\Article_Details.aspx.vb    行: 29 

堆栈跟踪: 


[NullReferenceException: 未将对象引用设置到对象的实例。]
   guanli_Article_details.FormView1_ItemUpdating(Object sender, FormViewUpdateEventArgs e) in E:\web\学生天地\xstd2.x\WebUI\guanli\Article_Details.aspx.vb:29
   System.Web.UI.WebControls.FormView.OnItemUpdating(FormViewUpdateEventArgs e) +133
   System.Web.UI.WebControls.FormView.HandleUpdate(String commandArg, Boolean causesValidation) +651
   System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +509
   System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +95
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +113
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

 
--------------------编程问答-------------------- TextBox txt=FormView1.FindControl( "TextBox1")   as   TextBox; 
--------------------编程问答-------------------- 楼主这个问题是么有双向绑定!!
点击FormView进入EditItemTemplate
看看"标题","内容"等字段是否是双向绑定了??
也可以在Html页面看,是否是<%# Bind("标题") %>
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,