ASP.NET Webアプリケーションで複数のオプションのパラメータを取得しようとしています。 RegisterArea()
にMapRoute
を定義すると、Html.ActionLink()
メソッドが破られています。asp.net MVC 3複数のオプションIDが動作していないRegisterArea
次のコードは動作します:
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute(_
"Register_default", _
"Register/{controller}/{action}/{id1}", _
New With {.controller = "Home", .action = "Index", .id1 = UrlParameter.Optional} _
)
End Sub
が、私は(下記)複数のオプションのパラメータを含めるようにURLを変更すると、私のHtml.ActionLink()
方法の全てが空のhrefでアンカータグを作成する原因となっています。誰かがこれが起こる原因を教えてもらえますか?
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute(_
"Register_default", _
"Register/{controller}/{action}/{id1}/{id2}/{id3}/{id4}", _
New With {.controller = "Home", .action = "Index", .id1 = UrlParameter.Optional, .id2 = UrlParameter.Optional, .id3 = UrlParameter.Optional, .id4 = UrlParameter.Optional} _
)
End Sub
感謝。しかし、それが当てはまる場合、IDが見つからないURLでチョークしませんか?上記の私の例から、 myurl.com/Register/Signup/WhyRegister myurl.com/Register/Signup/WhyRegister/5/ myurl.com/Register/Signup/WhyRegister/5/25 myurl.com/Register/申し込み/ WhyRegister/5/125分の25 myurl.com/Register/Signup/WhyRegister/5/25/625全てが正しくコントローラのアクションと myurl.com/Register/Signup/WhyRegister/5にIDを渡しています/ 25/625/3125 は、404 – xian713
を編集します:最後のコメントの最後の2つのURLは... 5/25/125/625と... 5/25/125/625/3125 – xian713