因此,我明白PRG模式的基础知识。但是,我还没有碰到过的技术用于产生可用任意数据页的“获取”的实例。

例如,我可能要取决于它们的作用,其发起的回发到显示不同的反馈消息给用户。

什么我已经做正在发送的标识符作为查询字符串参数。这工作得很好,但它引入了书签的问题似乎并没有像它会很好地进行缩放。如果我需要发送所有的ViewState的?

不幸的是,我绑的WebForms此刻并没有能够说服我的组织迁移到MVC。

有帮助吗?

解决方案

如果张贴的领域被重定向坚持之前,你需要重定向后访问这些数据,我会追加对你提到的查询字符串中的数据记录(一个或多个)的标识。你也可以指定请求的状态(显示信息等)。然后GET页面上,你可以读出的数据,做任何它。

我没有看到任何其他方式来解决这个问题,通过GET获得的每一页都将无法访问到前一页的ViewState等。

使用Server.Transfer将具有处理POST原始页面上的同样的效果。

您可以用会话变量来存储POST数据,但发臭。

其他提示

我觉得你还是可以使用GET方法的表单元素。 在这种情况下,您将无法使用您的控件的ID以正常的方式。但是你可以使用Request.Params收集得到的视图状态。

更新:对不起,我刚刚又试了一次。并且发现,您可以通过它的ID代码隐藏在访问您的服务器的控制。像:

Response.Write(text1.Text)

见例如:

aspx页面(只有形式元素):

< form id="form1" runat="server" method="get">
< div>
< asp:TextBox ID="text1" runat="server" />
< asp:Button ID="button1" runat="server" OnClick="buttonClick" />
< div>
< form>

注意: 我使用的每个之前的空间中“<”,否则上面的代码将不可见。

页(唯一的按钮点击事件)后面的代码:

protected void buttonClick(object sender, EventArgs e)
    {
        string text = Request.Params["text1"];

        Response.Write(text);
    }

当你点击按钮的URL看起来像这样:

HTTP://本地主机:1157 /的WebSite1 / Default.aspx的__ VIEWSTATE =%2FwEPDwUKMTkwNjc4NTIwMWRkoJEtEHZ8lHQ53QllSkz8ncpEw80%3D&__ EVENTVALIDATION =%2FwEWAwKf%2BPPUCwKTjKGwCgKs34rGBvus9oxN%2FQkHlkzpKUEwrbxHLM6u&的text1 =阿希什&button1的=

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top