【问题标题】:@Html.ActionLink, @Url.Action do not work in asp.net core razor view@Html.ActionLink、@Url.Action 在 asp.net core razor 视图中不起作用
【发布时间】:2021-08-19 19:41:08
【问题描述】:

我正在尝试在我的 razor 页面中使用 @Html.ActionLink 和 @Url.Action。

为此,我认为有以下代码

<div Id="SetLanguageUrl" value="@Url.Action("SetLanguage", "Language")"></div>
@Html.ActionLink("Test", "SetLanguage", "Language")

我没有收到错误,但两者都没有解析 url,如浏览器开发工具屏幕截图所示。

有人知道我可能会错过什么吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-core razor-pages


    【解决方案1】:

    好的,这很令人沮丧,但这是解决方案。

    在 Startup.cs - configure 我有以下内容:

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
    

    当我将其更改为:

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

    它似乎有效。

    【讨论】:

    • 如果不需要修改默认路由,可以改为endpoints.MapDefaultControllerRoute();
    • 谢谢,确实有效,而且更简洁。
    • 将您的“答案”标记为答案,如果其他人有相同的问题,将会对其有所帮助。
    猜你喜欢
    • 2011-12-04
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2019-08-15
    • 2022-10-01
    相关资源
    最近更新 更多