2012-08-15 39 views
1

我希望使用Server.Transfer(例如,如果用户导航到page1或page2 - 在两种情况下都会向他显示page3)显示一页。我这样做是因为页面非常相似。如何以编程方式将“PreviousPageType VirtualPath”(用于将“Server.Transfer”设置为多页中的一页)?

然而,有一对夫妇的它们之间的差异,我想借此获得发送页面的公共属性(例如,第1页第2页或),如在第四个选项here on MSDN的照顾。

但是这需要将PreviousPageType VirtualPath设置为正确的页面 - 可能是几个页面之一(例如页面1或页面2)。我怎么做?

编辑:这是一个web应用程序项目。

+0

http://forums.asp.net/t/1438300.aspx的Page_Load中的代码 – 2012-08-15 23:53:46

+1

我没有发现任何解决方案在那里。 – ispiro 2012-08-16 07:34:16

回答

0

这是使用Object.GetType()方法找出问题的另一种方法,以找出您从哪个页面调用server.transfer方法。

这是第3页

Object prePage=PreviousPage; 
    String gotprePage=prePage.GetType().ToString(); 
    if (gotprePage == "ASP.crosspage3_aspx") 
    { 
     //now call properties specific to crosspage3.aspx page 
     // prePage.GetType().GetProperty("your_property"). 
     //GetValue(objPreviousPage, null).ToString(); 
    } 
    else 
    { 
     if (gotprePage == "ASP.crosspage4_aspx") 
     { 
      //now call properties specific to crosspage4.aspx page 
     } 
    } 
+0

我现在接受这个答案。但是如果你知道实际设置'PreviousPageType VirtualPath'的方法 - 那将是真正的答案。 – ispiro 2012-09-23 15:31:19

+0

@ispiro你找到了更好的解决方案,或者这个答案仍然是实现这一目标的唯一方法 – ViROscar 2015-03-02 18:41:54

+0

@ViROscar我还没有找到更好的解决方案。 – ispiro 2015-03-02 20:57:32

相关问题