1

我正在ASP.NET 3.5使用C# 2008.

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

现在,Page1.aspx有两个划分让我们说div1div2

默认情况下div1visible并且div2仍然是hidden

现在,要求是当我redirectPage1.aspxPage2.aspx我想要div1 visible。虽然,当我从 中单击任何按钮时MasterPage's gridview,该ItemCommand事件将被触发,这也会将我重定向到Page1.aspx但那时我只需要显示div2并想要div1隐藏。

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

4

3 回答 3

4

Apart from Session and Querystring you can also use the Server.Transfer feature. You can then store the data in the Request.Items property of your page. They will be there on the page you're transferring to.

Alternatively you can use the Server.Transfer feature in combination with the PreviousPage directive in your aspx page.

MSDN has a pretty long article on all the options avialable to you. See:

And of course you can use a Single Page Application javascript framework to build the concept of pages in the client side, but actually only server one page from the server. You can then handle all the data going back and forth through json services.

于 2013-07-11T13:26:18.447 回答
3

您可以使用以下方法

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

2.使用会话变量

您正在使用 asp.net 更好地使用多视图而不是 Divs

于 2013-07-11T09:01:13.690 回答
1

所以你想在不使用查询字符串的情况下将数据传递到另一个页面?

你可以使用会话状态

Session["DisplayDivTwo"]=="true"

并在您的 page1 页面加载

if(Session["DisplayDivTwo"]!=null)
string display= (string)Session["DisplayDivTwo"];
于 2013-07-11T09:04:13.550 回答