我正在尝试查看是否可以将route.MapRoute的操作部分用于routeconfig.cs文件中的路由
我尝试过: route.MapRoute( 名称:“人”, url:“人/ {action} / {param1}”, 新建{控制器=“人员”,操作= {操作],参数1 = UrlParameter.Optional} );
在新部分中尝试使用{action}会在我尝试使用action = {action}时出现语法错误 如何使用变量设置新的{controller action变量?
答案 0 :(得分:0)
如果您在url参数中指定了{action},那么它将用作操作。我认为您对defaults参数感到困惑。在这里,您可以指定默认值,这样{action}之类的内容就不合适了。
我相信这是您要查找的代码
routes.MapRoute(
name: "Person",
url: "person/{action}/{param1}",
defaults: new { controller = "Person", action ="Index", param1 = UrlParameter.Optional } );
假设这是您的个人控制人
using System.Web.Mvc;
namespace ActionVar.Controllers
{
public class PersonController : Controller
{
public ActionResult Index(string param1 = null)
{
return Content($"Person controller default action. Param1 ={param1}");
}
public ActionResult Edit(string param1 = null)
{
return Content($"Person controller edit action. Param1 ={param1}");
}
}
}
一些网址以及如何将它们发送给上述控制器: