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

How to prevent showing the elements of the page at the page load

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

  1. 文本框。
  2. 标签。
  3. 图片。
  4. 表格。

而所有这些都取决于 url 参数。因此,在页面加载中,我确定该参数存在,并根据我的业务规则验证其值。

如果 url 不存在,我想显示一条消息错误。

我试过这个:

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

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

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

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");
    }
}