【发布时间】:2015-01-08 11:54:45
【问题描述】:
我正在使用此操作链接将路由值 id 发送到控制器,但我的 id 值像这样 config.xml
这是我的操作链接
@Html.ActionLink("Destroy", "DeleteFile", "Files", new { id = "config.xml"})
问题是当我想点击此链接时,浏览器将其理解为以config.xml 结尾的url
喜欢这个
http://localhost:12380/Files/DeleteFile/config.xml
并且不去控制器它返回404 - not found。
如何防止这种情况发生,并将这个config.xml作为参数而不是文件?
这也是我的路线
routes.MapRoute(
name: "delete files",
url: "Files/DeleteFile/{id}",
defaults: new
{
controller = "Files",
action = "DeleteFile",
id= UrlParameter.Optional
}
);
我也尝试了id ,filename,但没有任何改变
这是我的控制器
[HttpGet]
public ActionResult DeleteFile(string id)
{
return view("DeleteFile");
}
【问题讨论】:
-
这是我的操作结果 [HttpGet] public ActionResult DeleteFile(string id) { return view("DeleteFile"); }
-
你的路线怎么样?也许有一个“int”约束?
-
这是我的路由 routes.MapRoute( name: "delete files", url: "Files/DeleteFile/{id}", defaults: new { controller = "Files", action = "DeleteFile" , id= UrlParameter.Optional } );
标签: c# razor actionlink routevalues