如何从另一个页面读取已发布的 Json 字符串并将其分配给控件

本文关键字:串并 字符串 字符 Json 控件 分配 另一个 读取 | 更新日期: 2023-09-27 18:32:23

我正在使用 ASP.NET 开发一个网站。我有一个用户可以放置广告的页面。因此,在用户填写必填字段后,我会将它们重定向到另一个页面进行查看。在该页面中,我暂时显示用户输入的内容。因此,如果他们错了,他们可以回去,或者可以确认。因此,我避免使用会话将数据传递到另一个页面,因为它会给服务器带来成本。这些数据也不重要。所以我把它们放在一个 Json 字符串中并发布它们。

这是我尝试过的。

        JavaScriptSerializer json = new JavaScriptSerializer();
        Ad = new AdDetails.Ad();
        Ad.ContinentIdRef = byte.Parse(ddContinent.SelectedValue);
        Ad.ContinentName = ddContinent.SelectedItem.Text;
        Ad.CountryIdRef = byte.Parse(ddCountry.SelectedValue);
        Ad.CountryName = ddCountry.SelectedItem.Text;
        Ad.CityIdRef = UInt16.Parse(ddCity.SelectedValue);
        Ad.CityName = ddCity.SelectedItem.Text;
        //......
        string jsonString = json.Serialize(Ad);

我的按钮代码是

<asp:Button ID="btnCheckAd" runat="server" UseSubmitBehavior="false" Text="Check My Add" CssClass="btn btn-success" Width="130" OnClick="btnCheckAd_Click" PostBackUrl="~/CheckAd.aspx" />

所以现在我想从 CheckAd 中检索这个 Json 字符串.aspx并读取这些值以设置标签和文本框值。那么该怎么做呢?

如何从另一个页面读取已发布的 Json 字符串并将其分配给控件

尝试如下:

Request.InputStream.Position = 0;
System.Text.Encoding encoding = Request.ContentEncoding;
using (var inputStream = new StreamReader(Request.InputStream,encoding))
{
  strJSON = inputStream.ReadToEnd();
}
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
object serJsonDetails = javaScriptSerializer.Deserialize(strJSON, typeof(object));