【问题标题】:How can I redirect with a controller with id in ASP .NET MVC CORE如何在 ASP .NET MVC CORE 中使用带有 id 的控制器进行重定向
【发布时间】:2023-02-22 22:55:38
【问题描述】:

您好,我正在尝试为 Home Controller 中的隐私页面创建一个 ID, 现在看起来像这样

public IActionResult Privacy(string? id)
        {
            return RedirectToAction("Privacy", "Home", new { id = "1234"});
        }

在 Program.cs 文件中(我没有 startup.cs 文件)这是路由配置的样子:

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

编辑:所以我想要的是,当我访问隐私页面时,它应该将我重定向到 https://localhost:7204/Home/Privacy/1234,但它会抛出一条错误消息:此页面无效

我应该添加另一个 MapControllerRoute 吗?

【问题讨论】:

  • 不清楚你想做什么。那里的代码看起来不错。解释更多

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


【解决方案1】:

您是否尝试将 int? 传递给视图?

HomeController.cs中的代码:

public IActionResult Privacy(int? id)
{
    return View((object)id);
}

Privacy.cshtml 视图中:

@model System.Nullable<int>
@{
    ViewData["Title"] = "Privacy View";
    int? val = Model; // See you data here
}

<h1>@ViewData["Title"]</h1>

与使用 string 的方式相同,请输入:

public IActionResult Privacy(string? id)
{
    return View((object)id);
}

Privacy.cshtml 视图中:

@model System.String
@{
    ViewData["Title"] = "Privacy View";
    var val = Model; // See you data here
}

【讨论】:

  • 所以我想做的是当我访问 localhost/Home/Privacy 时我想被重定向到 localhost/Home/Privacy/{id}
  • @jujy7: 当你写的时候“重定向”这意味着应该点击控制器Home 中的操作方法Privacy。但是,如果您不提供任何 Id 值,则将调用 Privacy 未定义 (null) Id 的操作方法。因此,您可以调用 return View((object)"1234") 来呈现 Privacy.cshtml 视图并将任何必需的参数作为数据模型传递,如我在上面的示例中所述。这个参数可以是一个数字,然后你声明你的数据模型为@model System.Int32或一个字符串,你声明数据模型为@model System.String
【解决方案2】:

我正在尝试为主页中的隐私页面创建一个 id 控制器

如果你想使用 RedirectToAction,你可以创建一个新的动作,你想要像下面这样吗?

        public IActionResult PassIdToPrivacy(string? id)
        {
            return RedirectToAction("Privacy", "Home", new { id = "1234" });
        }
        public IActionResult Privacy()
        {
            return View();
        }

网址: https://localhost:7133/home/PassIdToPrivacy?id="aa"

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2022-01-16
    • 1970-01-01
    • 2021-04-09
    • 2021-06-25
    • 2022-07-27
    • 1970-01-01
    相关资源
    最近更新 更多