0

ASP.net には、概要情報を表示する 2 つの同様のページがあります。これらのページからプロパティ値を取得して、選択したレコードに関する詳細情報を詳細ページに表示したいと考えています。@PreviousPageType 参照を使用して、1 つの要約ページだけで成功しました。

    <%@ 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;

参照を使用するにはキャストする必要があることは知っていますが、これはどのように行われますか? 誰かが私を正しい方向に向けてもらえますか?

4

1 に答える 1

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;
                    }

                }
于 2013-03-06T13:51:06.740 に答える