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
点击FormView进入EditItemTemplate
看看"标题","内容"等字段是否是双向绑定了??
也可以在Html页面看,是否是<%# Bind("标题") %>