2009-07-28 9 views
0

を提出だから私は、次のようなカスタムルートがあります。asp.net MVCのカスタムルートはボタン

routes.MapRoute(
      "Wizard", // Route name 
      "Wizard/{page}", // URL with parameters 
      new { controller = "Wizard", action = "Index" } // Parameter defaults 
     ); 

をし、私の見解で次のを持っている:私は呼びたい

<% Html.BeginForm("Continue", "Wizard"); %> 
    <input type="submit" value="Continue" name="Continue" /> 
<% Html.EndForm(); %> 

します

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Continue(string Number, string Rev) 
    { 
     (...) 
    } 

このボタンを押すと、いつでも私が望むものではなくポストバックインデックスが呼び出されます。カスタムルートを削除すると、私の機能が呼び出されますが、アドレスバーに表示する内容は次のとおりです。localhost:xxxx/Wizard/1ここで、最後の数字はウィザードのページ(div表示)です。 2、3、または4です。私は行方不明または行えないことがありますか?ありがとう。そのアクションがパラメータであるので、あなたはあなたのルートを変更する必要があります

答えて

0

:あなたの質問の残りの部分については

routes.MapRoute(
    "Wizard", // Route name 
    "Wizard/{action}", // URL with parameters 
    new { controller = "Wizard", action = "Index"} // Parameter defaults 
); 

、あなたは手の込んだことができますしてください?

0

あなたのHTMLに書かれているもの(フォームタグ)は何ですか?

どこからページ番号が来ると思いますか?それをURLの一部にしようとしている様子はわかりません。 (それはURLの一部ではありませんので、それが一致しないルートになります。)あなたが好き、それの経路の一部にする必要があります。

<%= Html.BeginForm("Continue", "Wizard", new { page = intPage }) %> 

また、私はFormMethodのデフォルトことを肯定的ではありませんよPOSTです。これをフォームタグで再確認することができます。

James

関連する問題