2011-01-13 10 views
2

私は記事のリストを示す二重の義務を行うIndexメソッドとポストの照会リストを持っており、ユーザーがにてクリックすると、あなたが/News/Page/1または/News?query=testActionLinkの戻るボタン

のようなURLを取得してもページを持つことができます例えばNews/Details/1の投稿では、リストに戻す単純なActionLinkが得られます。しかし、このリンクでは、ページングやクエリの観点から実際のページに戻す必要があります。どうすればこのことができますか?私はJavaScriptの履歴メソッドを使用したくありません。 <%=Html.ActionLink("<< Back to News List", "Index")%>これは、ページングのリンクの例である:ここに私の現在のActionLinkのはある<%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>

おかげ

答えて

10

おそらくちょうど作成することなく、(彼らの歴史に戻って最後のページにそれらを送信するためにJavaScriptを使用して容易になるだろう特定のページへのリンク)。

history.go(-1) 
4

ユーザが直接News/Details/1にアクセスすることができ、その後場合はhistory.go(-1)history.back()機能を使用してリンクを持っている、それはindexアクション

にそれをリダイレクトされませんので、私は

<%=Html.ActionLink("<< Back to News List", "Index")%> 

ようにActionLinkのために行くだろう

0

これを行うもう1つの方法は、コントローラーにリンクを作成し、それをモデルのプロパティまたは単純なViewBag変数(あなた次第)に割り当てることです。この例では、ViewBagを使用します。

だからあなたの例では、バック/News/Page/1?some-querystringから/News/Details/1行くから、次の操作を行うことができます。あなたのコントローラで

(仮定 '1' 'ID' です):

ViewBag.BackButton = String.Format("/News/Page/{0}{1}", id.ToString(), Request.Url.Query); 

あなたに表示:

<a href="@ViewBag.BackButton">&lt; Back</a> 

これまでのところ、前のページの内容を知っておく必要があります。あなたの場合、あなたのリストに戻ってあなたのバックボタンをしたいので、このテクニックは大丈夫です。