如何防止在页面加载时显示页面元素

时间:2015-01-31 15:19:01

标签: c# asp.net .net

我有一个包含许多组件的页面:

  1. 文本框。
  2. 标签。
  3. 图像。
  4. 形式。
  5. 并且所有这些都取决于url参数。因此,在页面加载中,我确定参数已存在,并根据我的业务规则验证其值。

    我想如果该网址不存在,则显示邮件错误。

    我试过了:

    Response.Write("Please don't change anything in the URL");
    

    效果很好,但我的问题:是页面中的其他元素也显示出来,我不需要显示其他元素。

    可能吗?或者我应该转到每个元素并将visibility属性设为false

1 个答案:

答案 0 :(得分:1)

Page_LoadPage_Init中,您可以检查是否符合查询字符串的某些条件。调用Response.End();将停止执行页面事件。总结如下:

protected void Page_Init (object sender, EventArgs e)
{
    if(!IsQueryStringValid(Request.QueryString))
    {
        Response.Write("Please don't change anything in the URL");
        Response.End();
        // OR
        // Response.Redirect("~/QueryStringModifiedError.aspx");
    }
}