0

ソース ページ内の 2 つの Web ページ間でいくつかのパラメーターを渡そうとしています。次のプロパティがあります。

    private string _testString { get; set; }
    public string TestString
    {
        get
        {
            return _testString;
        }
    }

以前の msdn の例では、戻り値の型は常に UI 要素 ( textbox.text) に設定されていましたが、動的に生成されたリンク ボタンから値を渡そうとしているため、プライベート アクセサーを使用することにしました。

ソースページのリンクボタンのクリックイベントには、次のものがあります。

    protected void RenderReportInNewPage(LinkButton lb)
    {
      _testString = lb.CommandArgument.ToString();
      Response.BufferOutput = true;
      Response.Redirect("~/stuff/testviewer.aspx");
   }

ターゲット ページには、次のように aspx で参照されているソース ページがあります。

<%@ PreviousPageType VirtualPath="~/stuff/testviewer.aspx"%>

そして、ターゲットページの分離コードには次のものがあります。

Textbox.Text = PreviousPage.TestString;

PreviousPage はパブリック プロパティ TestString を表示しますが、常に null です (設定されているとは思わないが、理由がわからないため)

プライベート アクセサー (_teststring) を設定し、その値をパブリック プロパティに反映させることはできますか? 私が間違ったことについての提案をいただければ幸いです。

-乾杯

4

1 に答える 1

0

エラーが見つかりました。これは、プロパティの設定ではなく、ターゲットページを呼び出す方法にありました。プロパティを渡すために、Server.Transfer代わりにユーザーに渡す必要がありましたResponse.Redirect

    protected void RenderReportInNewPage(LinkButton lb)
    {
        _testString = lb.CommandArgument.ToString();
        Response.BufferOutput = true;
        Server.Transfer("~/ReportBuilder/viewer.aspx");
     }

-乾杯

于 2013-01-30T17:49:11.333 に答える