C# Url.Action路由参数未按预期呈现
在MVC应用程序中,通过从模型传递到Razor视图的值构建url重定向时,我遇到了一个问题 锚定标记的My href属性如下所示(foreach循环生成的标记列表): 控制器具有由属性定义的路由:C# Url.Action路由参数未按预期呈现,c#,asp.net,model-view-controller,routes,C#,Asp.net,Model View Controller,Routes,在MVC应用程序中,通过从模型传递到Razor视图的值构建url重定向时,我遇到了一个问题 锚定标记的My href属性如下所示(foreach循环生成的标记列表): 控制器具有由属性定义的路由: [RoutePrefix("SampleController")] public class ChartController : Controller { [Route("MyActionName/{parameter}"
[RoutePrefix("SampleController")]
public class ChartController : Controller
{
[Route("MyActionName/{parameter}")]
public ActionResult SampleAction(string parameter) {}
}
呈现的url将参数作为查询参数传递:?参数=值。如何更改它以实现类似:/SampleController/MyActionName/ParameterValue
我将感谢你的帮助
问候,,
Jacek试试这种语法
@Url.Action(item.Action, item.Controller, new { id= item.ActionParameter })
我试过了,没有任何改变:(你仍然有相同的Url--/SampleController/MyActionName?Parameter=value???哦,我明白了!在你的语法中,参数名是“id”。起初我试过在路由定义中使用新的{Parameter=item.ActionParameter}。它很有效,谢谢!
@Url.Action(item.Action, item.Controller, new { id= item.ActionParameter })