gpt4 book ai didi

c# - Ajax 和自定义 View 状态提供程序

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:56 25 4
gpt4 key购买 nike

我已经实现了本文中的自定义 View 状态提供程序

http://www.codeproject.com/Articles/8001/ViewState-Provider-an-implementation-using-Provide

对于完整回发,这可以正常工作,但对于部分回发 (Ajax),它不起作用,有人可以为此提供解决方案,或者指导我哪里出了问题,我不知道。

最佳答案

最后我解决了这个问题,感谢 Aristos 给我关于这个问题的线索。

这是我所做的,只是在 SqlViewStateProvider.cs 中更改此方法

public override void SavePageState(System.Web.UI.Control pControl, object viewState)
{
string vsKey = String.Empty;

// Searching for the hidden field named "__vsKey"

// Comment out this line
//System.Web.UI.HtmlControls.HtmlInputHidden ctrl = System.Web.UI.HtmlControls.HtmlInputHidden)pControl.FindControl("__vsKey");

// Add this line
string lastKey = ((Page)pControl).Request.Form["__vsKey"];
if (lastKey == null)
{
// Generate new GUID
vsKey = Guid.NewGuid().ToString();
// Store in the hidden field

// Remove this line its old school code
//((Page)pControl).RegisterHiddenField("__vsKey", vsKey);
// Add this new one
((Page)pControl).ClientScript.RegisterHiddenField("__vsKey", vsKey);
}
else
{
// Use the GUID stored in the hidden field

// Comment this one out
//vsKey = ctrl.Value;

// Add these two lines
vsKey = lastKey;
((Page)pControl).ClientScript.RegisterHiddenField("__vsKey", lastKey);
}

// Every thing else is just as-is...

}

希望这可以帮助其他也在同样问题上苦苦挣扎的人。

关于c# - Ajax 和自定义 View 状态提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14660482/

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