gpt4 book ai didi

asp.net - 查找页面中所有文本框控件

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

我正在尝试使用 http 模块来禁用每个页面的文本框。这是我的示例编码

  public void context_OnPreRequestHandlerExecute(object sender, EventArgs args)
{
try
{
HttpApplication app = sender as HttpApplication;
if (app != null)
{
Page page = app.Context.Handler as Page;
if (page != null)
{
page.PreRender += OnPreRender;
page.PreLoad += onPreLoad;
}
}



}
catch (Exception ex)
{
throw new ApplicationException(ex.Message);
}
}


public void OnPreRender(object sender, EventArgs args)
{
Page page = sender as Page;
if (page.IsCrossPagePostBack)
{
DisableAllTextBoxes(page);
}

}

private static void DisableAllTextBoxes(Control parent)
{

foreach (Control c in parent.Controls)
{
var tb = c as Button;
if (tb != null)
{
tb.Enabled = false;
}
DisableAllTextBoxes(c);
}

}

这种编码可以很好地工作,但是当我使用 server.transer 到另一个页面时。按钮尚无法禁用。例如webform1传输到webform2。 Webform 1 的按钮可以禁用,但 webform2 无法禁用。谁能解决我的问题吗?

最佳答案

Server.Transfer 确实遍历所有http模块pipline(这就是为什么不为您执行context_OnPreRequestHandlerExecute)

您应该尝试Server.TransferRequestresponse.redirectHttpContext.Current.RewritePath

关于asp.net - 查找页面中所有文本框控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112605/

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