何らかの理由で、ASP.NET MVC3のローカルインストールで引数を使用してURLを解決しようとすると、引数が基本的にコントローラの処理機能のnull
になります。例えばASP.NET MVC3のURLパラメータがnullに解決される
、私は
public class HomeController : Controller
{
public ActionResult Foo(string bar)
{
ViewBag.Message = bar;
return View();
}
}
を持っているとhttp://localhost/myapp/foo/sometext
またはhttp://localhost/myapp/home/foo/sometext
を訪問しようと、bar
基本的にnull
代わりのsometext
に評価されます。
MVC3のインストールが正常に機能していると私は確信しています。数日前にカスタムルーティングルールを使用して別のアプリケーションを実行することができました。私は気をつけて、configフラグをどこかに壊してしまったかもしれない。
ここで何が間違っているかに関するアイデアはありますか?
Huh。それは間違いなく、トリック、ありがとう。しかし、私は、 'public ActionResult foo(string herp、string derp){}'のようなコントローラ関数を記述し、 'http:// localhost/myapp/home経由で自動的に*取得する必要があるという印象を受けました/ foo/1/2/'またはそれに類するもの。これは、引数(および引数名)の数に関して使用するすべてのURLパターンに対してカスタムルートを作成する必要があることを意味しますか?それはとても便利ではありません。 –
カスタムルートなしで、 'http:// localhost/myapp/home/foo/1/2 /'経由で 'public ActionResult foo(string herp、string derp)'のようなアクションにナビゲートすることはできません。しかし、 'herp'と' derp'のテキストボックスを持っている限り、カスタムルートを設定することなく、HTTP POST経由でフォームを送信することができます。私の経験では、特定のプロジェクトで必要とするすべてのルーティング要件を満たすいくつかのコンベンションを考えるのは難しくありませんが、要件によって異なります。 – gram
ええ、私はそれが実際にルーティングルールを長期的に思い付くのは難しいことではないと思います。私のMVCの経験はCakePHPとCodeIgniterから来ているので、それは飲み込むのにちょっとした難題です。しかし、私を気にしないでください。 :D大きな助けをありがとう! –