Asp.net 在Response.Redirect(“Page.aspx”)上设置页面的属性

Asp.net 在Response.Redirect(“Page.aspx”)上设置页面的属性,asp.net,c#-4.0,Asp.net,C# 4.0,我将ASP.NET 3.5与C#2008一起使用 我有一个母版页,其中有一个网格视图,其中包含ItemCommand事件。此母版页有两个子页Page1.aspx和Page2.aspx 现在,Page1.aspx有两个部分,让我们说div1和div2 默认情况下,div1是可见的,div2仍然是隐藏的 现在,要求是当我从Page2.aspx重定向到Page1.aspx时,我希望div1可见。当我点击母版的gridview中的任何按钮时,ItemCommand事件将被触发,这也会将我重定向到Page

我将ASP.NET 3.5与C#2008一起使用

我有一个母版页,其中有一个网格视图,其中包含
ItemCommand
事件。此母版页有两个子页
Page1.aspx
Page2.aspx

现在,
Page1.aspx
有两个部分,让我们说
div1
div2

默认情况下,
div1
是可见的,
div2
仍然是隐藏的

现在,要求是当我从
Page2.aspx
重定向到
Page1.aspx
时,我希望
div1
可见。当我点击
母版的gridview
中的任何按钮时,
ItemCommand
事件将被触发,这也会将我重定向到
Page1.aspx
,但此时我只需要显示
div2
,并希望隐藏
div1


我可以使用
Response.Redirect(“Page1.aspx?DisplayDivTwo=true”)
重定向到
Page1.aspx
时,在
ItemCommand
事件上传递查询字符串,但我
不想遵循这种方法。还有其他解决办法吗?我试图在重定向之前设置属性,但它不起作用。

您可以使用以下方法

1.使用查询字符串(您已经实现)

2.使用会话变量


您正在使用asp.net,最好使用多视图而不是Divs,您可以使用以下方法

1.使用查询字符串(您已经实现)

2.使用会话变量


您使用asp.net时,最好使用多视图而不是Divs,因此您希望在不使用查询字符串的情况下将数据传递到另一个页面

您可以使用会话状态

Session["DisplayDivTwo"]=="true"
在你的page1页面加载中

if(Session["DisplayDivTwo"]!=null)
string display= (string)Session["DisplayDivTwo"];

那么,您想在不使用查询字符串的情况下将数据传递到另一个页面

您可以使用会话状态

Session["DisplayDivTwo"]=="true"
在你的page1页面加载中

if(Session["DisplayDivTwo"]!=null)
string display= (string)Session["DisplayDivTwo"];

除了会话和查询字符串,您还可以使用
Server.Transfer
功能。然后,您可以将数据存储在页面的
Request.Items
属性中。它们将出现在您要转到的页面上

或者,您可以在您的aspx页面中

MSDN有一篇很长的文章介绍了您可以选择的所有选项。见:


当然,您可以使用服务器在客户端构建页面的概念,但实际上只有一个页面来自服务器。然后,您可以通过json服务处理所有来回的数据。

除了会话和查询字符串,您还可以使用
服务器.Transfer
功能。然后,您可以将数据存储在页面的
Request.Items
属性中。它们将出现在您要转到的页面上

或者,您可以在您的aspx页面中

MSDN有一篇很长的文章介绍了您可以选择的所有选项。见:


当然,您可以使用服务器在客户端构建页面的概念,但实际上只有一个页面来自服务器。然后,您可以通过json服务处理所有来回的数据。

+1提供了使用多视图而不是div的更好想法。谢谢:)+1为您提供了使用多视图而不是div的更好想法。谢谢:)谢谢你的回答和+1的详细信息。但如果我使用Server.Transfer,则URL将保持不变,即与上一页相同。这样一来,用户可能会感到困惑,因为他看到的名称和选项卡与URL中显示的名称和选项卡不同。仅供参考,在我的web应用程序中,用户数量有限,而且是技术人员。因此,我需要注意它们显示到哪个页面的URL。为什么技术人员会关心页面URL:)。他们应该明白url并不重要。除此之外,如果需要更新URL,则需要使用cookie、会话或URL参数。或者,您需要更新后端/数据库中反映用户选择的内容。对这些技术和精通技术的用户要非常小心,他们通常使用多个选项卡,如果你做得不好,这些选项卡可能会导致各种问题。感谢你的回答和+1的详细信息。但如果我使用Server.Transfer,则URL将保持不变,即与上一页相同。这样一来,用户可能会感到困惑,因为他看到的名称和选项卡与URL中显示的名称和选项卡不同。仅供参考,在我的web应用程序中,用户数量有限,而且是技术人员。因此,我需要注意它们显示到哪个页面的URL。为什么技术人员会关心页面URL:)。他们应该明白url并不重要。除此之外,如果需要更新URL,则需要使用cookie、会话或URL参数。或者,您需要更新后端/数据库中反映用户选择的内容。对这些技术和精通技术的用户要非常小心,他们通常使用多个标签,如果你做得不好,可能会导致各种问题。