2017-09-04 20 views
0

アンカータグヘルパーを使用してこの "www.example.com/cars/1/slug"のようなURLを生成するにはどうすればよいですか?私のかみそりビューでASPコアGetアクションでアンカータグヘルパーを使用する方法は?

[Route("cars")] 
public class CarsController: Controller 
    { 
    [HttpGet("{id}/{slug?}")] 
public IActionResult Get(int id, string slug = "static-slug") 
    { 
      ... 

私はこれを書いた:

<a asp-controller="cars" asp-route-id="@ResultSearch.CarId" asp-route-slug="@ResultSearch.Slug"> 

は私がGETアクション "という名前を付けることができない安らかなデザインをより以下の以下だこの

http://example.com/cars/cars?id=1072&slug=slug 

を生成し、この名前の別のルートを既に定義していて、車のセクションを表示しています。私が取り組んでいるルートは、特定の車の詳細を表示することです。

+0

あなたは 'ASP-アクションは='「ゲット」を追加しようとしたことがありますか? – Ali

答えて

0

あなたはそれがありますしない限り、それがアクションを見つけることができない、アクションを指定する必要があります。

<a asp-action="Get" asp-controller="Cars" asp-route-id="@ResultSearch.CarId" asp-route-slug="@ResultSearch.Slug"> 
+0

私はこれで終わるだろう:www.example.com/cars/get/1/slugこれはwww.example.com/cars/1/slugが欲しい。 getは "フレンドリーなURL"の完璧主義を破るだろう。私はこの "友好的なURL"を買わないが、ほとんどのWeb開発者がこの考えに同意したようだ。フレンドリーなURLは、存在しない製品に偽のURLを生成する機会を与え、Googleで結果を得て同様の製品を表示しますが、Ebayが多く使っている "フレンドリーなURL"とは異なります。 –

+0

URLに 'get'を入れてはいけません。私の場合、リンクはhttp:// localhost:33215/cars/1072/some-slug'になります。リンクするアクションを見つけるためにアクションを指定する必要があります。次に、属性で定義したものを使用してURLを生成します。 – juunas

関連する問題