我的视图中有一段代码,会在点击它时显示图片和网址。该URL指向站点上的页面,并将其定向到该操作方法。我将参数作为URL的一部分,但在Action方法中,参数显示为null.Hence我被重定向到适当的页面,但是我在action方法中没有任何功能。
这是我的代码。
查看:
<a class="lnkImage" href="@item.ImageURL" target="_blank"><img id="PrivateimgPreview" src="@item.ActualImage"/></a>
我从数据库获取的@ item.Image网址的值为http://localhost/TestProject/Home/DemoPage/b9f074fc-f86c-4866-a7b3-33e43025293f
我在家庭控制器中的动作方法是
public ActionResult DemoPage(string blockId)
{
//Some code here
return(View);
}
这是我在Route.config中的映射路径
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我错过了什么?
答案 0 :(得分:1)
我认为您需要将'blockId'更改为'id'或添加以下路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{blockId}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我认为在签名中重命名参数更有意义,而不是为此操作方法创建几乎相同的路径。