在ASP.net中,我有两个显示摘要信息的类似页面。我想从这些页面中提取属性值,以在详细信息页面中显示有关所选记录的详细信息。 我使用@PreviousPageType引用只为一个摘要页面成功完成了它。
<%@ PreviousPageType VirtualPath="~/SOURCE1.aspx" %>
但很快就出现了我需要另一页作为馈线。不幸的是,根据我的阅读,似乎你不能有多个PreviousPageTypes
根据:http://msdn.microsoft.com/en-us/library/ms178139%28v=vs.100%29.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-6 我应该可以做一些类似的参考:
<%@ Reference VirtualPath="~/SOURCE1.aspx" %>
我不知道如何投射页面,因为我不确定'SourcePage_Aspx在下面的代码中是什么'顺便提到来自上面的链接。
SourcePage_aspx sourcePage;
sourcePage = (SourcePage_aspx) PreviousPage;
Label1.Text = sourcePage.CurrentCity;
我知道要使用你必须投射的引用,但是,这是怎么做到的?有人可以指点我正确的方向吗?
答案 0 :(得分:0)
此页面包含答案! :http://www.codingwith.net/2008/01/using-previouspage-property-with.html
(如果您打算访问解决方案的另一个文件夹中的页面,请不要忘记您的using语句,但是intellesense可能会为您生成它)
我的代码:
if (Page.PreviousPage != null && Page.PreviousPage.IsCrossPagePostBack == true)
{
//make sure to define reference directive on .aspx : <%@ Reference Page="~/SourcePage1.aspx" %>
if (PreviousPage is SourcePage1)
{
ViewState["SessionVariable"] = ((SourcePage1)PreviousPage).PropertyFromPreviousPage1;
}
//make sure to define reference directive on .aspx : <%@ Reference Page="~/SourcePage2.aspx" %>
if (PreviousPage is SourcePage2)
{
ViewState["SessionVariable"] = ((SourcePage2)PreviousPage).PropertyFromPreviousPage2;
}
}