1

RegisterRoutes メソッドの Global.asax.cs ファイルに、

routes.MapRoute("messages", 
    "Message/{id}", 
    new { controller = "Archive", action = "Message", id = 0 });

次に、このコントローラーを作成しました。

namespace TestingApp.Controllers
{
    public class ArchiveController : Controller
    {
        public string Message(int id)
        {
            return "testing: you will receive the message: " + id.ToString();
        }
    }
}

しかし、私が行くときの私のブラウザでは:

http://.../Message/34

私は404を取得します。

ルーティングがコントローラーを見つけるために、他に何を定義する必要がありますか?

4

2 に答える 2

4

Try defining your specific route before the Default one:

routes.MapRoute(
    "messages",
    "Message/{id}",
    new { controller = "Archive", action = "Message", id = 0 });

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" });
于 2009-01-15T10:31:54.100 に答える
1

Message メソッドは ActionResult インスタンスを返す必要があると思います:

public ActionResult Message(int id)
{
    return new ContentResult {
        Content = "testing: you will receive the message: " + id.ToString()
    };
}
于 2009-01-15T10:38:26.317 に答える