Как использовать @reference, например @PreviousPageType, для ссылки на несколько предыдущих страниц?
В 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 я должен быть в состоянии сделать что-то подобное со ссылкой:
<%@ Reference VirtualPath="~/SOURCE1.aspx" %>
Я не уверен, как создать страницу, хотя, как я не уверен, что 'SourcePage_Aspx в коде ниже, что случайно по ссылке выше.
SourcePage_aspx sourcePage;
sourcePage = (SourcePage_aspx) PreviousPage;
Label1.Text = sourcePage.CurrentCity;
Я знаю, что для использования ссылки вы должны разыграть ее, но как это сделать? Может ли кто-нибудь указать мне правильное направление?
1 ответ
Эта страница содержит ответ!: http://www.codingwith.net/2008/01/using-previouspage-property-with.html
(Не забывайте свое заявление об использовании, если вы намереваетесь получить доступ к страницам в другой папке решения, однако 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;
}
}