C# 如何从另一个页面读取发布的Json字符串并将其分配给控件?
我正在用ASP.NET开发一个网站。我有一个页面,用户可以把广告。所以,在用户填写完必填字段后,我会将它们重定向到另一个页面进行查看。在该页面中,我临时显示用户输入的内容。因此,如果他们错了,他们可以回去,否则可以确认。 因此,我避免使用会话将数据传递到另一个页面,因为这会给服务器带来成本。此外,这些数据并不重要。 所以我把它们放在一个Json字符串中,然后发布它们 这是我试过的C# 如何从另一个页面读取发布的Json字符串并将其分配给控件?,c#,asp.net,json,C#,Asp.net,Json,我正在用ASP.NET开发一个网站。我有一个页面,用户可以把广告。所以,在用户填写完必填字段后,我会将它们重定向到另一个页面进行查看。在该页面中,我临时显示用户输入的内容。因此,如果他们错了,他们可以回去,否则可以确认。 因此,我避免使用会话将数据传递到另一个页面,因为这会给服务器带来成本。此外,这些数据并不重要。 所以我把它们放在一个Json字符串中,然后发布它们 这是我试过的 JavaScriptSerializer json = new JavaScriptSerializ
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.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));
谢谢你,甘尼什。我差点就明白了。strJSON正确地获取了Json字符串。但是在行尾,它抛出了一个错误,说“无效的JSON原语:ctl00”;对象是类的一个瞬间。但它也抛出了同样的错误。我还发现从目标页面捕获的Json字符串和源页面捕获的Json字符串不同。