2009-08-04 18 views
2

ASP.NET MVCでさまざまな理由でナビゲーションがHTML入力ボタンで処理されるアプリケーションを作成しています。この状況をどのように処理するかに関するベストプラクティスは何ですか?情報がPOSTされる必要があるボタンのフォームを設定するだけの情報がASP.NET MVCのボタンを使ってページを操作する適切な方法は?

  • を保持する必要はありません、ボタンにリダイレクトするためにJavaScriptを使用

    1. はフォームを使用して処理されるすべてのボタンがあり、ミニフォームは情報が

      <% using (Html.BeginForm()) 
          { %> 
      <input type="hidden" name="controller" value="1" /> 
      <input type="hidden" name="action" value="Location" /> 
      <input id="BackButton" type="submit" value="Go Back" /> 
      <% } %> 
      
    2. 私はここに

    3. 0と考えていない何かを保持する必要はありませんボタンのナビゲーションを処理ポイントへ
  • 答えて

    2
    を:クライアントは、すべてのフォーム(...)のボタンを「キャンセル」を有する言っていますので、我々はちょうどやったリセット入力にクリックイベントを立ち往生1.私たちはオプションを実装し、最近のアプリケーションで

    1. おそらく、JavaScriptが最適です。

    ミニフォームを使用すると、実際には重い手がかかるようです。あなたは基本的にボタンをリンクとして使用することを考えています(ボタンの投稿/修正とリンクのナビゲートなので、基本的なWeb規約を破っている理由を真剣に考えています)。

    +0

    私は「ブレークウェブコンベンション」のビットに同意しますが、...... JavaScriptがない場合はどうなりますか?最近では、サイトとターゲットオーディエンスに完全に依存していますが、それはまだ懸念しています。余分な派手なものをユーザーから奪うのは一つのことですが、ユーザーがナビゲートできるのを奪うことはまったく違うのです。 –

    1

    3:ボタンのように見えるようにアンカータグを設定します。

    history.go(-1); return false; 
    
    +0

    でも可能ということですか?多くの場合、ボタンはOS上のネイティブボタンのようにレンダリングされます。 –

    +0

    デフォルトのボタンスタイルを残しておけば、それは問題になる可能性がありますが、私はカスタムスタイルのビットをする傾向があります。 – Joel

    3

    Hereあなたはボタンのようにアンカータグのスタイルを設定する方法については、かなり良い記事を見つけることができます

    +1

    良いリンク。また、デフォルトのボタンスタイルを避ける理由もうまく説明されています。 – Joel

    0

    使用<a href="#">タグとJavaScript/jQueryの空。たとえば、次のビューで

    どこかnavigation.jsで
    <script src="<%= Url.Content("~/Content/navigation.js") %>" type="text/javascript"></script> 
    ... 
    <a id="back" href="#">Back</a> 
    <a id="next" href="#">Next</a> 
    
    <script type='text/javascript'> 
        var back_href="<%= Url.Action("...") %>"; 
        var next_href="<%= Url.Action("...") %>"; 
    </script> 
    

    $(document).ready(function() { 
        $('a#back').attr('href', back_href); 
        $('a#next').attr('href', next_href); 
    }); 
    
    関連する問題