如何在ASP.net自定义控件中处理PostBack

时间:2014-06-28 08:47:20

标签: c# asp.net

可能是因为根据要求或缺乏知识正确实施CustomControl,我遗漏了一些重要的东西。实际上我创建了CustomControl(.dll)用于搜索目的,有3个下拉框(从数据库填充),1个文本框和搜索按钮,选择适当的过滤条件后,用户点击搜索按钮,出现简单的gridview。我的问题是我不想在每个帖子上填写CustomControl中的下拉框(从页面中解雇)。

1 个答案:

答案 0 :(得分:1)

当你所在的地方无法发现Page时,你可以使用这个全局参数:

System.Web.HttpContext.Current

现在你可以得到Page如果可用,

Page page = HttpContext.Current.Handler as Page;

if (page != null && page.IsPostBack)
{

}

或者您可以使用

获取表单和回发值
System.Web.HttpContext.Current.Request.Form

并检查表单是否有值,然后可能会回发。

请注意,在使用之前始终检查System.Web.HttpContext.Current 是否为空,因为如果从线程调用它并且没有可用的页面,那么{{1 }}