在地址栏上输入错误的网址时如何重新路由

时间:2019-05-13 06:11:09

标签: c# asp.net-mvc url-routing

我有一个至少具有两个控制器的Asp.net MVC Web应用程序。提交时有一个第一个表单将激活第一个控制器的Create post action方法(将父详细信息保留在db中),然后重定向到Create get action方法,然后显示一个表单以填充子实体。这意味着我将必须将父ID作为参数传递给我正在执行的控制器,并作为外键成功保存到子表中。我的问题是,我不知道如何阻止某人直接在地址栏上输入子表单的URL,而没有从父表单生成的必需父ID(例如https://localhost/controller2/Create)。我在想一条路由,只要有人这样做,它就会重定向回父表单,但不确定代码中的方式。

1 个答案:

答案 0 :(得分:0)

我假设您已在RedirectToAction的{​​{1}}方法中使用Create重定向到Controller1的{​​{1}}

在这种情况下,如果您的目标是防止访问Create中的Controller2,则您必须在操作本身内应用一些逻辑以检查即将到来的参数的有效性内。

例如,您要将Create作为参数传递给此GET Controller2方法。因此,您可以执行以下操作:

parentId