【发布时间】:2011-12-06 14:34:49
【问题描述】:
我有一个收件箱消息页面,其中包含另一个用户发送给某人的消息列表。单击此消息将打开这两个人之间的消息线程,能够回复原始发件人发送的消息(此页面为 MessageContent.aspx)。这将转到另一个页面(称为 MessageReply.aspx),该页面允许回复的人在 textarea 控件中创建一条新消息,并带有一个“发送消息”按钮,该按钮将该回复添加到上一个线程中消息列表的末尾,并且执行 Response.Redirect 以返回该页面。
总的来说,我的一切都按我的意愿工作,但现在唯一的问题是,当从 MessageReply 页面返回 MessageDetail(包含所有线程消息的页面)页面时,URL 永远不会改变。
例如,MessageDetail URL 是“http://mysite/MessageContent.aspx?ThreadId=24”。 回复消息会转到此 URL:“http://mysite/MessageReply.aspx?message=26”。 当消息被发送到详细信息页面并重定向到它时,URL 仍然显示“http://mysite/MessageReply.aspx?message=26”
这是我在 MessageDetail 中打开回复页面的代码(使用超链接控件):
string url = SPContext.Current.Site.ServerRelativeUrl + "/MessageReply.aspx";
HyperLink ReplyHyperLink = (HyperLink)e.Item.FindControl("MessageReply");
ReplyHyperLink.Attributes.Add("rel", "external");
ReplyHyperLink.NavigateUrl = QueryStringUtils.AppendParameter(url, MessageQueryString, item.Id);
这是我的 MessageReply SendMessage 按钮的代码:
// Send the message
var contentEditor = (HtmlTextArea)this.FindControl("ContentEditor");
client.SendMessageReply(_messageId.Value, SubjectTextBox.Text, contentEditor.InnerText);
Message message = client.Read(_messageId.Value);
// Redirect back to the MessageContent page
string url = SPContext.Current.Site.ServerRelativeUrl + "/MessageContent.aspx";
string pageUrl = QueryStringUtils.AppendParameter(url, ThreadIdQueryString, message.ThreadId);
Response.Redirect(pageUrl);
有人知道如何在发送消息回复时更改 URL 吗?其他一切工作正常。我非常感谢它:)
【问题讨论】:
标签: c# asp.net url jquery-mobile response.redirect