我正在使用twitter引导程序开发一个.net应用程序。
我使用Server.Target从Default1.aspx导航到Default2.aspx,在Default2.aspx的页面加载上,我将Default2.aspx页面保存为html页面,并将该html文件邮寄给用户。我在这里面临一些问题。发送邮件给用户之后,它应该返回到Default1.aspx。
这里是我的代码
Default.aspx:
<asp:Button ID="btnNavigate" Text="Navigate to Default2.aspx"
runat="server" class="btn btn-sm btn-danger" OnClick="btnNavigate_Click">
</asp:Button>Default.aspx.cs
protected void btnNavigate_Click(object sender, EventArgs e)
{
Context.Items.Add("Id", "10");
string targetPath = "~/Reports/Default2.aspx";
Server.Transfer(targetPath);
}Default2.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Context.Items["Id"] != null)
{
int Id=Convert.ToInt32(Context.Items["Id"]);
if (SendDashboardHTMLfileAsEmail(Id)==true)
{
Context.Items.Add("TestId", Id.ToString());
string targetPath = "~/Reports/Default1.aspx";
Server.Transfer(targetPath);
}
}
}
}
private void SendDashboardHTMLfileAsEmail(int Id)
{
//create Default2.aspx page as html file in a path
//Send a email to user with an attachment
//newly created html file is the attachment
}当我导航到Default1.aspx页面时,我得到了一个错误无法计算表达式,因为代码是优化的,或者一个本地框架位于调用堆栈的顶部。
向用户发送邮件后,它不会被导航到Default1.aspx,但它仍然在Default2.aspx中。
请帮帮我。
发布于 2014-12-26 09:22:17
尝试使用Response.Redirect方法代替。
Response.Redirect("~/Reports/Default1.aspx", false);但是,不能使用上下文将信息传输到下一页,而是使用Session:
Session["Id"] = 10;若要检索下一页上的信息,请在Session对象上使用强制转换
var Id = (int)Session["Id"];https://stackoverflow.com/questions/27655120
复制相似问题