gpt4 book ai didi

asp.net-mvc - ASP.NET Core 3.0 Controller 路由不起作用

转载 作者:行者123 更新时间:2023-12-01 23:13:21 25 4
gpt4 key购买 nike

免责声明:我是 ASP.NET Core/Razor/MVC 新手,正在开始使用 3.0 预览版。

我想要做的是在我的页面上有一个“按钮”,将一个新的空项目添加到列表中,以便用户可以输入一些值。从我读过的内容(相当多)来看,听起来有一个指向 Controller 的超链接是正确的方法。但我无法让它真正发挥作用。这是我的代码:

指向 Controller /操作的链接:

<a class="btn btn-success" asp-controller="Customer" asp-action="AddProduct">New Product</a>

Controller :

    public class CustomerController : Controller
{
public void AddProduct()
{

var tmp = "";

}

public string Index()
{
return "This is my default action...";
}

public string Welcome()
{
return "This is the Welcome action method...";
}

}

Startup.cs 路由是默认的:

        app.UseRouting(routes =>
{
routes.MapRazorPages();
});

通过此设置,如果我单击“开始”按钮,我会看到 URL 更改为以下内容,但没有发生任何其他情况(例如,没有命中断点):

https://localhost:44358/Customers/Create?action=AddProduct&controller=Customer

我尝试将路由专门添加到 UseRouting 代码中,如下所示:

            app.UseRouting(routes =>
{
routes.MapRazorPages();
routes.MapControllerRoute(
name: "Customer",
template: "{controller=Customer}/{action=Welcome}");
});

但是当我这样做时,它似乎中断了,因为文本颜色发生变化(从白色变为黑色),并且当我单击它时没有任何反应。

知道我哪里出错了吗?

我还有一个问题 - 如何从 Controller 访问模型数据?

最佳答案

请参阅此处页面中部:https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-0-preview-4/

在Startup.cs中配置:

        app.UseRouting();
app.UseEndpoints(routes =>
{
routes.MapRazorPages();
routes.MapFallbackToPage("/Home");
});

关于asp.net-mvc - ASP.NET Core 3.0 Controller 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55465241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com