问题标签 [asp.net-core-razor-pages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1125 浏览

c# - Asp .Net Core 3.1 Razor 页面:复杂模型绑定

我在数据绑定和 Razor 页面上苦苦挣扎

我无法找到解决方案。可能我问的问题不正确。所以我希望你能帮我指出正确的方向。

我想要一个页面来创建预订以收集所有必要的数据,以便在一切完成后将其发布到 Web api。

在该页面上,我想为 wooking 收集必要的数据,并希望将 x 预订详细信息添加到预订中。

数据模型

我想做的是为预订创建一个创建页面。到目前为止,我遵循了这个说明,这是有效的链接

这个缺失的部分是我想在同一个 Razor 页面上添加新的预订详细信息。

所以我想查看所有添加的预订详细信息的列表,并且我希望有文本框来添加新的预订详细信息。

System.NullReferenceException我的想法是执行以下操作,但由于 Booking 为空,我收到了一个:

甚至可以在一页上完成所有这些操作,还是我应该朝着不同的方向前进?

谢谢你的帮助!

0 投票
1 回答
96 浏览

c# - Razor Pages 不能在另一个方法中重用 OnGet() 中定义的属性,因为它是 null

我在一个小项目上学习带有 Razor Pages 的 ASP.NET Core。这是我的页面模型的一部分及其属性

我得到了 OnGetAsync() ,它调用 API 路由来检索列表中的所有学生数据,这是有效的,我可以在我的页面文件中显示数据,如下所示:

但是现在<div id="details">我想在使用 OnGetDetails() 方法单击“详细信息”按钮时显示一名学生的详细信息。为此,我正在我的 allStudents 属性中搜索,该属性是一个列表,带有来自通缉学生的 ID。我猜这个方法不完整,但我遇到了我的问题:

出现错误,因为 this.allStudents 在这里为空,尽管之前在我的 OnGet() 中初始化了所以我不明白。

0 投票
1 回答
161 浏览

asp.net-core - asp .net core razor pages - 布局页面中的页面模型

我需要在剃须刀布局页面中进行一些处理。从查询字符串中获取值的简单方法是执行 Request.Query["Name"] 并获取值。之前,我调用了 Urldata[0] 并获得了第一个值。我想出了如何在剃须刀页面中克服这个问题,但我没有运气在布局页面中尝试同样的事情。任何人都可以分享的任何指针?

更多信息 - 我有一个记分牌页面设置。我可以通过以下两种方式之一接受锦标赛 ID 值:scoreboard?TournamentId=12345 或 scoreboard/12345

我需要一种简单的方法来在接受任一格式的布局页面中获取锦标赛 ID 值。有任何想法吗?

沃利

0 投票
1 回答
38 浏览

.net - 如何在 Razor 页面中使用 MVC 部分视图和布局

这可能吗?我的大部分网络应用程序都在 MVC 中。但我将设置一个技术角,我只想转到简单的 Razor 页面,而不是设置复杂的端点以在 StartUp 中到达那里。

似乎页面会更好地组织简单的页面,例如:

文章/AspNetCore3 -- 列出相关文章

文章/AspNetCore3/WhatsNew -- 在此设置文章

文章/AspNetCore3/Blazor——在这里谈论这项新技术

文章/Azure/概述——这些类型的 URL 内容简单,但 Razor 页面准备好在需要时添加功能

0 投票
5 回答
2949 浏览

asp.net-core - aspnet-codegenerator:没有可用的代码生成器,即使添加了 Microsoft.VisualStudio.Web.CodeGeneration.Design

无法使用aspnet-codegenerator生成脚手架,下面是我尝试过的:

  1. 使用创建了一个 ASP.Net RazorPages 应用程序 dotnet new webapp

  2. 做了一个dotnet build

  3. 使用安装 dotnet-aspnet-codegenerator

    dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4

  4. dotnet aspnet-codegenerator --help

    它说:此项目中没有可用的代码生成器。将Microsoft.VisualStudio.Web.CodeGeneration.Design包作为 NuGet 包引用添加到项目中。

  5. 使用添加了步骤 4 中提到的包

    dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design

    添加的包是:

    <ItemGroup> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" /> </ItemGroup>

  6. 又跑了:dotnet build

    最后一步

  7. dotnet aspnet-codegenerator --help

    它再次表示:此项目中没有可用的代码生成器。将 Microsoft.VisualStudio.Web.CodeGeneration.Design 包作为 NuGet 包引用添加到项目中。

.Net核心安装版本:3.1.401

操作系统:Ubuntu 20.04

0 投票
1 回答
67 浏览

c# - Asp.net Core Razor Pages 无法从 csHTML 获取值到 C#

客户模型

用户模型类

数据上下文

注册页面 HTML

注册页面 html.cs

有一个错误,我无法从 html 输入中获取“NewUser”数据到 OnPost 方法。然而,这似乎与“客户”相同,但“客户”运行良好,能够从输入中获取数据。

0 投票
1 回答
366 浏览

asp.net-core-3.1 - “JsonException:无法将 JSON 值转换为 NodaTime.Instant”与 ASP.NET Core 3.1 Razor Page Web 应用程序有关的 NodaTime 问题

在 ASP.NET Core 3.1 Razor Page 纯前端 Web 应用程序中,我收到以下错误。

安装了以下软件包:

还要在启动中设置:

JsonException:无法将 JSON 值转换为 NodaTime.Instant。路径:$.data[0].created_at | 行号:0 | BytePositionInLine: 261. System.Text.Json.ThrowHelper.ThrowJsonException_DeserializeUnableToConvertValue(Type propertyType) System.Text.Json.JsonPropertyInfoNotNullable<TClass, TDeclaredProperty, TRuntimeProperty, TConverter>.OnRead(ref ReadStack state, ref Utf8JsonReader reader) System.Text.Json。 JsonPropertyInfo.Read(JsonTokenType tokenType, ref ReadStack state, ref Utf8JsonReader reader) System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, ref Utf8JsonReader reader, ref ReadStack readStack) System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, ref Utf8JsonReader reader) System.Text.Json.JsonSerializer.Deserialize(string json, Type returnType,

这是它试图反序列化的数据片段。如果我从 Instant 切换到 DateTimeOffset,它会“立即”工作(双关语:D)

注意:此 json 数据是包含 (NodaTime)Instant 类型的 CreatedAt 和 UpdatedAt 属性的对象序列化的结果。我确认它适用于 asp.net core 3.1 mvc api 应用程序。

不知道为什么它不起作用。(也许,John Skeet 可以解释一下?)

0 投票
1 回答
46 浏览

razor-pages - 在剃刀页面上调用脚本和样式组的最佳方式

将脚本和样式表分组以便可以作为一个组调用并在一个位置进行管理的最佳方法是什么?

我在我的 razor 页面上使用了第三方数据网格控件,并且需要在我的页面中引用几个脚本和样式表才能使其正常工作。

不必在我计划使用数据网格的每个页面上添加这些引用(并且必须在需要为这些数据网格添加或删除脚本时随时更新每个页面),我宁愿将它们全部引用到另一个文件,我可以调用那个文件。(有几个控件我希望这样做,而不仅仅是数据网格,每个控件都可能有自己的一组引用)

我不想将它们放在 _layout 文件中,因为并不是每个页面都需要它们,但是它们足够多,以至于必须在任何时候更新每个页面都会很乏味。

最初我正在考虑使用部分视图,但据我所读,部分内容在部分视图中不起作用。

0 投票
1 回答
208 浏览

json - Json 发布到 asp.net 核心剃须刀页面模型返回 null

在网上尝试了很多解决方案和修复但没有进展,经过研究进行研究,我需要你们的帮助

这是我将学生分数推送到页面模型的 Js 脚本,当我检查学生分数时,它有值

这是我的 PageModel OnPost。当它来到这里时,分数值变为空

这是我的 HTML 代码

请非常感谢您的帮助。

0 投票
1 回答
373 浏览

asp.net-core - Asp .net core - 通过角色授权访问文件夹中的所有文件

我正在使用 .net core 5.0 将一些初始 razor 代码升级到 asp .net razor 页面。我在microsoft 网站上浏览了许多示例,但似乎我必须在所有 .cshtml.cs 文件中设置属性。感觉只是草率且容易出错,因为某些地方会被遗忘。

在 .net 4.x razor 中,我有一个 _PageStart.cshtml 文件,我检查用户的角色,如果他们不是特定角色,我将他们重定向到登录页面。我想使用单个文件或配置在 asp .net 核心中做同样的事情。我不想在每个页面模型文件上都添加一个属性,这看起来很草率。我想我会做类似的事情:

其中 ClubAdmin 是应用程序中的一个角色,而 Club 是一个包含一堆剃须刀页面和子文件夹的文件夹。这可能吗?

TIA