gpt4 book ai didi

asp.net - UpdatePanel崩溃,其他更新面板不起作用

转载 作者:行者123 更新时间:2023-12-03 17:46:46 25 4
gpt4 key购买 nike

我有很奇怪的问题。我以前使用过更新面板,但从未遇到过问题,但是因为我将listviews分组,所以遇到了问题。我在页面上有大约4个更新面板,通过使用后面代码中的panelname.update()进行调用,该页面用于所有工作。

然后,因为我必须将一堆listviews彼此分组,所以我不得不使用PageLoadDataBind,而不是将数据源实际放在asp页面上。页面加载时,所有数据都可以使用Listview进行操作,但是现在更新面板根本无法使用async postback

如果我在所有其余代码后面都删除了uppnlSOL.Update(),请重新开始工作。导致问题的更新面板与包含listviewDataBind的面板相同。
ASP页面的所有面板都具有childrenastriggers="false" UpdateMode="Conditional",因此我从后面的代码中称其全部。我还尝试了从后面的代码中删除uppnlSOL.Update(),并在uppnlSOL页面上的asp上放置了一个触发器。一旦启动,我会得到相同的结果。我删除了触发器,然后其他3个面板再次工作。我需要全部四个工作
我很困惑,它几乎就像它在尝试执行更新面板之类时的渲染一样。我什至在DataBind之后尝试了3秒钟的暂停,然后尝试了updatepanel.Update(),但所有4个仍然不起作用。

我将尝试在发生问题的下面放置一些代码。

Protected Sub Packing_Load(sender As Object, e As EventArgs) Handles Me.Load
If IsPostBack = False Then
lvSOLGrpDelAdd.DataSource = tblDespatchA.DespatchPackSOLGrpDelAdd_Get(IDSO:=hdnIDSO.Value)
lvSOLGrpDelAdd.DataBind()
End If

End Sub

Protected Sub lvSOLGrpDelAdd_RowDataBound(sender As Object, e As ListViewItemEventArgs) Handles lvSOLGrpDelAdd.ItemDataBound
Dim lvSOLGrpDelMeth As ListView = DirectCast(e.Item.FindControl("lvSOLGrpDelMeth"), ListView)
lvSOLGrpDelMeth.DataSource = tblDespatchA.DespatchPackSOLGrpDelMeth_Get(IDSO:=hdnIDSO.Value, IDGrpDelAdd:=DataBinder.Eval(e.Item.DataItem, "IDGrpDelAdd"))
lvSOLGrpDelMeth.DataBind()
End Sub

Protected Sub lvSOLGrpDelMeth_RowDataBound(sender As Object, e As ListViewItemEventArgs)
Dim lvSOL As ListView = DirectCast(e.Item.FindControl("lvSOL"), ListView)
lvSOL.DataSource = tblDespatchA.DespatchPackSOL_Get(IDSO:=hdnIDSO.Value, IDGrpDelAdd:=DataBinder.Eval(e.Item.DataItem, "IDGrpDelAdd").ToString, IDGrpDelMeth:=DataBinder.Eval(e.Item.DataItem, "IDGrpDelMeth").ToString)
lvSOL.DataBind()
End Sub

Protected Sub btnAllocateLine_Click(sender As Object, e As EventArgs)
Dim lvRow As Object = DirectCast(sender, Object).Parent
Dim hdnIDSOL As HiddenField = DirectCast(lvRow.FindControl("hdnIDSOL"), HiddenField)
Dim lstQtyAvail As DropDownList = DirectCast(lvRow.FindControl("lstQtyAvail"), DropDownList)
tblDespatchA.DespatchPackSOLAllocate_Save(IDSO:=hdnIDSO.Value, IDSOL:=hdnIDSOL.Value, AllocateQty:=lstQtyAvail.SelectedValue)
Bind()
End Sub

Protected Sub Bind()
uppnlDOL.DataBind()
uppnlDOL.Update()

uppnlDBox.DataBind()
uppnlDBox.Update()

uppnlFooter.DataBind()
uppnlFooter.Update()

'I HAVE TO REGET FROM DATABASE CHANGES THAT HAVE HAPPEN AND
'I KNOW THIS BIT WORKS BECAUSE I HAVE TESTED THE DATA.
lvSOLGrpDelAdd.DataSource = tblDespatchA.DespatchPackSOLGrpDelAdd_Get(IDSO:=hdnIDSO.Value)
lvSOLGrpDelAdd.DataBind()
uppnlSOL.Update() ' THIS BIT WHEN I PUT IN THIS MAKES ALL THE OTHER PANELS CRASH
End Sub

最佳答案

在这里,我们再次回答我自己的问题,因为没有人会帮助,但由于我很好,我会帮助其他情况类似的人。

它使所有其他面板崩溃的原因是因为在我的ASP.net页面上使用<%Response.Write(“stuff here”)%>在其中生成了一些代码,并且由于使用Response.Write导致崩溃。

更新面板正在执行异步回发,而我与PanelName.Update()同时调用Response.Write()导致了此问题。我正在寻找另一种无需使用response.write即可写入屏幕的方法,这将解决我的第二个问题。

任何想法,将不胜感激。

关于asp.net - UpdatePanel崩溃,其他更新面板不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42767617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com