我不明白ASP.net的根源;我错过了这个? 这是我的根:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Example">
<a href="http://www.Example.com">
<img src="http://www.Example.com/Sloth.jpg">
</a>
</div>
这是我的控制器:
routes.MapRoute(
name: "ChampionID",
url: "Champion/ChampionById/id",
defaults: new { controller = "Champion", action = "ChampionById", id = "5" }
);
如果你可以帮助我,我将感激不尽
答案 0 :(得分:1)
忘记routes.MapRoute。只需连接所有路由,然后将路由作为这样的属性:
public class ChampionController : Controller
{
[Route("Champion/ChampionById/{id}")]
public ActionResult ChampionById(string id)
{
ChampionId ch = new ChampionId();
ch.Id = id;
return View(ch);
}
}
x也应该是id。然后只需删除routes.MapRoute。然后确保你有一个名为ChampionById的相应cshtml文件。
答案 1 :(得分:1)
将您的路线更改为适合您的ActionResult,如下所示:
routes.MapRoute(
name: "ChampionID",
url: "Champion/ChampionById/{id}",
defaults: new { controller = "Champion", action = "ChampionById", id = UrlParameter.Optional }
);
请注意我使用'id'
更新的内容此处所有带有'Champion / ChampionById /'模式的请求都将映射到此路由,并且'Champion / ChampionById /'之后的任何内容都将成为'id参数'。由于它在路由上标记为可选,因此也可以为null。所以最好检查一下。
public class ChampionController : Controller
{
public ActionResult ChampionById(string id)
{
ChampionId ch = new ChampionId();
if( !string.IsNullOrEmpty(id))
{
ch.Id = id;
return View(ch);
}
//<TODO> : handle when your id parameter is null
return View(ch);
}
答案 2 :(得分:1)
编辑您的路线。
routes.MapRoute(
name: "ChampionID",
url: "Champion/ChampionById/{x}",
defaults: new { controller = "Champion", action = "ChampionById", x = UrlParameter.Optional }
);