2017-09-18 4 views
0

は表示されません:ルートは - 私がニュースページをやっている方法ですと、今、私はこのようにそれを持っているページ

routes.MapRoute("News", "News/{url}/{id}", new 
     { 
      controller = "News", 
      action = "Index", 
      url = UrlParameter.Optional, 
      id = UrlParameter.Optional 
     }); 

は、今私が持っている:www.helloworld.com/newsを/ハローワールド/ 123

私はwww.helloworld.com/hello-world/123

を持つことになり、私はまた、共通のコンテンツ

routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new 
      { 
       controller = "index", 
       action = "Index", 
       id = UrlParameter.Optional 
      } 
     ); 
ためにここにこれを持っています

パラメータ辞書は、非NULL可能タイプのパラメータ「ID」のヌルエントリを含む「可能System.Int32」メソッドは「System.Web.Mvc.ActionResult指数(可能System.String、Int32)を:と

エラー'' HelloWorld.Controllers.NewsController 'にあります。オプションのパラメータは、参照型、null可能型、またはオプションのパラメータとして宣言する必要があります。 パラメータ名:パラメータ

routes.MapRoute("News", "{url}/{id}", new 
      { 
       controller = "News", 
       action = "Index", 
       url = UrlParameter.Optional, 
       id = UrlParameter.Optional 
      }); 
+0

このセットアップで直面している問題は何ですか? –

+0

私はupdate @ChetanRanpariyaを持っています –

+0

あなたは/ url/idの前に{controller}しか書くことができないと思うでしょう@TechGirl –

答えて

0

これは、クエリ文字列の値を渡すための良い方法ではありません。まず、あなたはまた、あなたが、さらには、以下のリンクを参照できるあなたのURLがwww.helloworld.com/news/123され、あなたがあなたのcontroller-

public class NewsController : Controller 
{ 
    public ActionResult Index(int id) 
    { 
     return View(); 
    } 
} 

にアクションメソッドを作成する必要があります後NewsContollerを作成する必要があります情報

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/asp-net-mvc-routing-overview-cs

あなたがそれを好きなら、答えをマークしてください。

+0

私はそれを知っています。しかし、それは私の問題ではありません、私はニュースがほしいと思うと私は知っている+ + idを持っていることを知っている –

+0

あなたは、www.helloworld.com/news/123またはwww.helloworld.com/news?id=123を使用することができます –

+0

私はしませんwww.helloworld.com/url/123 –

関連する問題