【问题标题】:How do I get the URL to change to the correct/current page with jQuery Mobile and Reponse.Redirect?如何使用 jQuery Mobile 和 Reponse.Redirect 获取 URL 以更改为正确/当前页面?
【发布时间】: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


    【解决方案1】:

    最简单的方法是关闭正在提交的表单本身的 ajax。构建下一页所需的所有资产都应该已经在缓存中,因此当您的下一页通过重定向反弹时,只要您已将每个页面设计为独立的,加载时间就不会更高。

    在给您带来麻烦的表单上关闭 Ajax...

    <form ... ... data-ajax="false">
    

    然后,只需确保将下一页构建为可以直接使用 GET 请求调用的标准 JQM 页面,一切都应该没问题。

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 2023-04-10
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多