0

我正在尝试在源页面中的两个网页之间传递一些参数我具有以下属性

    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 但它始终为空(因为我认为它没有被设置但不知道为什么)

是否可以设置私有访问器(_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 回答