更新时的ASP.NET窗体视图IF



我想在更新表单视图之前运行if;如果是,那么。。。"消息"&取消更新查询如果没有,则继续更新查询。

我已经尝试过了,但在if的第一行得到了一个"obeject实例未设置为null实例……"?并且无论如何,项目都会更新

Private Sub FormView2_ItemUpdating(sender As Object, e As System.Web.UI.WebControls.FormViewUpdateEventArgs) Handles FormView2.ItemUpdating
    Dim status As TextBox = FormView1.FindControl("ApprovalStatusTextBox")

    If status.Text = "approved" Or "denied" Then
        e.Cancel = True
        lblupdaterequest.Text = "you cannot update this request as it has already been responded to"
    Else
        HolidayDetailsdatasource.Update()
    End If

有人知道实现这样的目标会更好吗?

精确错误:

   System.NullReferenceException was unhandled by user code
   Message=Object reference not set to an instance of an object.
   Source=WebApplication1
   StackTrace:
   at WebApplication1.HolidayApprovalDetails.DetailsView1_ItemUpdating(Object sender, DetailsViewUpdateEventArgs e) in line 32
   at System.Web.UI.WebControls.DetailsView.OnItemUpdating(DetailsViewUpdateEventArgs e)
   at System.Web.UI.WebControls.DetailsView.HandleUpdate(String commandArg, Boolean causesValidation)
   at System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup)
   at System.Web.UI.WebControls.DetailsView.OnBubbleEvent(Object source, EventArgs e)
   at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
   at System.Web.UI.WebControls.DetailsViewRow.OnBubbleEvent(Object source, EventArgs e)
   at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
   at System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)
   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

我至少可以看到您正在从"FormView1"检索状态TextBox的值,而您的子ItemUpdating引用的是"FormView2'"。

更改后,尝试在if之前添加一个消息框,以确保您得到了所需的正确值:

MsgBox(status.Text)

希望它能帮助你解决问题。

If status IsNot Nothing AndAlso (status.Text = "approved" OrElse status.Text = "denied") Then

最新更新