0

我有模板,比如cart.aspxmail.aspx。我正在向它们传递一些变量并使用此代码获取结果视图

MySession2.Current.customer = customer;
StringWriter _writer = new StringWriter();
HttpContext.Current.Server.Execute("mail.aspx", _writer);
modal_info_text.InnerHtml = _writer.ToString();

在第一行中,我将变量放入会话中。在我的mail.aspx文件中,我得到了这个变量。在其他行中,我得到了我的结果视图mail.aspx并将其放入我的 div。

所以,如果我只使用它就没有问题。但我需要使用另一个模板 - cart.aspx-。因此,如果我使用相同的代码cart.aspx并将其放入我的购物车 div,则会出现错误。这是错误:

The state information is invalid for this page and might be corrupted.

当我使用不止一个时有什么问题?谢谢。

4

1 回答 1

0

一个可能的罪魁祸首可能是 ViewState。在 cart.aspx(或 mail.aspx)中对其进行任何更改(在 ViewState 中添加或删除项目)都可能导致这种情况发生。我猜您正在尝试将相同的模板(购物车和邮件)重新用于完整页面视图以及注入另一个页面。更好的方法可能是将可重用组件放入用户控件 (ascx) 并根据需要进行渲染。

于 2012-11-04T19:31:31.987 回答