Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# routes.maproute_C#_Sql_Asp.net Mvc 4_Asp.net Mvc Routing - Fatal编程技术网

C# routes.maproute

C# routes.maproute,c#,sql,asp.net-mvc-4,asp.net-mvc-routing,C#,Sql,Asp.net Mvc 4,Asp.net Mvc Routing,我有一个问题,这是我第一次使用routes.maproute,我的逻辑路由有问题 我有以下代码: { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id

我有一个问题,这是我第一次使用routes.maproute,我的逻辑路由有问题

我有以下代码:

{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    //Ruta por defecto   --> pa' pruebas
    );



    routes.MapRoute(
      name: "Registro",
      url: "{controller}/{action}/{box}/{reg}"
      //defaults: new { controller = "Repositorio", action = "Registro" }
      //localhost:27105/Home/FichaRegistros/29200604-BCF7-4534-8DE9-00049D41A3E0-->FichaRegistros   -->Repositorio/Registro + id OBLIGATORIA
    );

    routes.MapRoute(
      name: "Repositorio",
      url: "{controller}/{action}/{box}"
      //defaults: new { controller = "Repositorio", action = "Repositorio", }
      //localhost:27105/User/Repositorio/378CE0F6-440A-4C63-BF08-08F760B4840B --> Repositorio  -->Repositorio/Repositorio + id OBLIGATORIA
    );
    routes.MapRoute(
        name: "IsNotLogged",
        url: "{controller}/{action}/{id}",
        defaults: new { action = "IsNotLogged", id = UrlParameter.Optional }
        //localhost:27105/Home/Index   -->   Home/Index -->Repositorio/IsNotLogged
    );
    routes.MapRoute(
        name: "IsLogged",
        url: "{controller}/{action}/{id}",
        defaults: new { action = "IsLogged", id = UrlParameter.Optional }
        //localhost:27105/User/Index  -->  User/Index  -->Repositorio/IsLogged
    );
    routes.MapRoute(
      name: "Localhost",
      url: "{controller}/{action}/",
      defaults: new { controller = "Repositorio", action = "LocalHost" }
      //localhost:27105/   -->User/Login   -->Repositorio/LocalHost
    );
}
但我不能正确地制作作品

每个MapRoute有4个项目: 名称(可识别为maproute) url(要在MapRoute上检查的url) 默认值(仅在必要时) 我希望在此maproute中查看的注释(但这不是我想要的)

你能帮我吗

错误是,我无法转到我想要的路由,因为我看不到将comprovaciones路径(如url:“{controller}/{action}/{id}”)放在适当位置的逻辑,因此它们可以转到我想要的位置(这在每个MapRoute的注释中都有说明)

例如在路线上:注册 当用户输入一个路径,例如://localhost:27105/Home/FichaRegistros/29200604-BCF7-4534-8DE9-00049D41A3E0时,我希望这样

这会让我转到菲查雷吉斯特罗斯 位于控制器Repositoro中 恢复行动 并且需要有身份证

(注意:我首先使用默认路由只是为了尝试,也为了查看URL,我知道,然后我将其放在了末尾)

好的,我有一个解决方案:

在routes.MapRoute中,我们配置为url: url:“/home/FichaRegistros/” 因为我们希望在url指向正确的位置时“捕获”

然后我们定义我们希望它如何行动: 默认值:新建{controller=“Records”action=“Index”}

有指示我们要转到控制器记录到操作索引

通过这种方式,我们可以捕获所需的cualquer路由,并将其发送给控制器和所需的操作:

同样,如果URL指示: url:{controller}/{action}/“

我们表示我们想要抓取任何控制器和任何动作,也就是说: 如果url为:localhost:45663/CCCC/yyy/XXXX routes.MapRoute,将CCC解释为控制器,愤怒地寻找我们的程序, 与interara在控制器AAA CCC内寻找动作的方式相同 并将其作为参数XXX

devemos查看我们放置这些“过滤器”的顺序,因为例如,如果我们放置过滤器: url:“/home/Cars/” 然后为其添加一个过滤器 url:“/home/Cars/FichaRegistros/”

永远不要进入FICHAREGISTROS页面,因为1通过了过滤器启动/车辆以及如何通过,它捕获并显示不再查看是否有任何更具体的内容,好像只查看条件是否满足,而不注意是否有更详细的内容

关于{}中列出的变量 例如: url:{controller}/{action}/“ 在这里,我们也访问一个控制器,一个作为Internameta的操作保存在变量{controller}中,驱动程序名i保存在变量{action}中,该操作的名称,然后使用它们在程序中定位驱动程序和相应的操作

我们还可以添加它们自己的变量,具体情况如下: url:“{controller}/{action}/{ID}”

在这种情况下,我们已经创建了变量或参数ID,您可以在控制器操作中使用它,我们将使用这个routes.MapRoute,记住,变量中的操作必须调用,就像我们在这里指出的那样

它们也可以是不总是必需的变量,以便在相同条件之间是否存在任何变量,表明: 默认值:新建{action=“IsNotLogged”id=UrlParameter.Optional}

通过这种方式,我们表明我们创建的ID参数是可选的,如果不指示solo part entraria UrlParameter。在这种情况下,当go时是可选的,如果没有,将跳转到下一个检查


很抱歉延迟回答,但他们认为如果不是davais,我的问题会有一个解决方案,如果……否则我不会指出他有什么问题,并且我已经解决了

请告诉我们你有什么错误,你可以添加到你的问题中,你期望得到什么结果,你会得到什么样的错误?错误是我无法进入我所选择的路线ant因为我看不到逻辑,所以不能很好地将comprovaciones路径像url:“{controller}/{action}/{id}”,所以它们可以放在我想要的地方(这在每个MapRoute的注释中都有说明,例如在route:Registration上,当用户输入路径如://localhost:27105/Home/FichaRegistros/29200604-BCF7-4534-8DE9-00049D41A3E0时,我希望将我重定向到控制器Repositoro action Repositorio中的FichaRegistros,并具有所需的id bot问题和答案都是无用的