2011-12-06 2 views
1

私は、別のユーザーが人に送信したメッセージの一覧を含む受信トレイのメッセージページを持っています。このメッセージをクリックすると、元の送信者(このページはMessageContent.aspx)によって送信されたメッセージに返信することができるこれらの2人のユーザー間でメッセージのスレッドが開きます。これは別のページ(MessageReply.aspxと呼ばれる)に移動し、返信者はテキストエリアコントロールに新しいメッセージを作成するボタンを「Send Message」にして、前のスレッドのメッセージリストの最後にその返信を追加し、 Response.Redirectを実行してそのページに戻ります。jQuery MobileとReponse.Redirectを使用してURLを正しい/現在のページに変更する方法を教えてください。

全体的に私は何とかしたいと思っていますが、今の唯一の問題は、MessageReplyページからMessageDetail(すべてのスレッドメッセージを含むページ)ページに戻るときにURLが変更されないことです。

たとえば、MessageDetailのURLは「http://mysite/MessageContent.aspx?ThreadId = 24」です。 メッセージに返信すると、「http://mysite/MessageReply.aspx?message = 26」というURLに移動します。 メッセージが詳細ページに送信され、そのページにリダイレクトされると、URLには「http://mysite/MessageReply.aspx?message = 26」と表示されます。

ここでは、MessageDetailで(HyperLinkコントロールを使用して)ページを返信:ここ

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 SendMesageボタンの私が持っているコードです:

// 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を取得する方法任意のアイデアを持っていますメッセージ返信?それ以外はうまくいきます。私は大いに感謝します:)

答えて

2

これのための最も簡単なルートは、送信されているフォーム自体にajaxをオフにするでしょう。次のページを作成するために必要なすべてのアセットはすでにキャッシュに入っているはずです。次のページがリダイレクトでバウンスされた場合、各ページを単独で作成した場合、ロード時間はそれほど長くなりません。

はちょうど次のページがGETリクエストを直接呼び出すことができ、標準JQMページとして構成されていることを確認し、その後...あなたにトラブルを与えているフォームに

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

をアヤックスをオフにするにはすべてがうまくいくはずです。

関連する問題