问题标签 [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 回答
4090 浏览

asp.net - 如何将引导程序添加到空的 asp.net core 2 模板应用程序?

在一个空的(模板)asp.net core 2 应用程序中,在项目中添加一个Bootstrap 包后,还需要什么才能访问Bootstrap?

我可以在依赖项下的 NuGet 节点下看到 Bootstrap NuGet。但是没有一个 Bootstrap 文件是wwwroot.

我添加了一个带有按钮的剃须刀页面。但是,它显示一个正常外观的按钮。未使用引导程序:

0 投票
1 回答
15017 浏览

asp.net-core - asp.net核心中的Url.Action

我喜欢使动态 html 内容可读的新标签助手属性。我可以使用 asp-controller 和 asp-action 属性来创建链接,如下所示:

问题是在某些情况下,我只需要操作的 URL 就可以在我的 javascript 中使用它。例如,为了在 ASP.NET MVC 5 中进行 ajax 调用,我可以使用以下代码:

我试图在 ASP.NET Core 中找到一个等效的方法,但我找不到,所以我必须自己创建 URL。有没有办法在 ASP.NET Core 中获取 Action 和 Razor Page URL。

0 投票
3 回答
1096 浏览

asp.net-core - 无法将 JSON 发布到 ASP.NET Core RazorPage 处理程序

我正在使用 ASP.NET Core RazorPage 作为 MVC 控制器的替代方案,并且我希望能够通过 XMLHttpRequest 提交客户端表单。我已经弄清楚了 XSRF 令牌位,以便通过集合,但 RazorPages 框架似乎没有处理入站 JSON 有效负载并将其绑定到预期的属性。

一些代码:

页面的模型(.cshtml.cs):

和客户端帖子:

我已验证数据已正确提交:

在此处输入图像描述

在提交请求之前,axios 正在添加 X-XSRF-TOKEN 标头。服务器以错误列表响应的事实表明它不是导致问题的 XSRF 令牌:

在此处输入图像描述

请注意,MyRequest 对象不包含请求负载中的值 - 它没有按预期绑定(否则 FirstName 不会返回所需的错误)。如何告诉 RazorPages 接受 JSON 请求并将其绑定到我的属性?

0 投票
1 回答
1189 浏览

c# - 使用 ASP.NET Core v2 和 Razorpages 从下拉 onChange 事件中获取 SQL 数据

我有一个使用 C# 从 SQL 填充的下拉框。当用户在下拉框中选择一个条目时,我需要根据所选项目运行 SQL 查询,并使用 SQL 的结果集填充其他一些输入字段。

Think of it as a list of customers, when selecting a customer the input fields are populated with default values for the customer, such Address, City etc which later can be changed by the user.

我的第一个想法是对下拉 onchange 事件使用 ajax 调用,但不知道应该从哪里获取 MSSQL 数据?是否可以从 URL 从 SQL 中检索数据?或者我可以使用 C# 将下拉列表绑定到 onchange 事件并将查询数据添加到 C# 的脚本块中吗?

解决这个问题的好方法是什么?

我正在使用带有 Razorpages 的 ASP.NET Core v2

在此处输入图像描述

谢谢

托马斯

0 投票
1 回答
5133 浏览

c# - 如何检测 Razor 页面中的回发?

我正在使用一个单一的剃须刀页面(cshtml),它有一个form@functions{}部分来捕获一个OnPost(). 所有这些工作正常。

在 HTML 部分中,我需要知道何时发生回发并显示一条消息。我不确定在 Razor 页面中的位置或方式。我试过IsPost了,但不可用。

我在类中创建了一个字符串属性并在其中设置了一个值,OnPost但是一旦我在视图中,该属性是null.

我分配了一个值,ViewData["mystring"]但一旦我进入视图,它也为空。

-- 编辑 --
似乎问题是我试图在 OnPost 中设置一个属性,这是请求。在 OnPost 之后,OnGet 将始终触发。OnGet 是响应。我可以看到从POSTGET的翻转this.Request.Method。所以我失去了任何回发发生的迹象。

关于如何完成的任何建议?

0 投票
1 回答
855 浏览

c# - 除非属性可用,否则为什么 Request.Form["myfield"] 为空?

在 RazorPage 中,我提交了一个表单,但在模型OnPost()中, Request.Form["myfield"] 为空。

但是如果我在模型中添加一个类级别的属性:

并更新表单以使用 TagHelper:

Request.Form["myfield"]当它到达 OnPost() 中的断点时填充。但实际属性为 null in OnPost()

有谁明白发生了什么?意义:

为什么不Request.Form["myfield"]填充类级别属性?

为什么不填充属性?

-- 编辑 --
第一部分因为我使用id的是name.

仍然不确定关于asp-for和模型属性的第二部分。

0 投票
1 回答
2045 浏览

c# - 无法使用 ajax 将数据传递到剃须刀页面

我正在尝试将一些数据发送到 razor page 方法,但问题是在方法中它总是需要 as 0

继承人的代码:

剃刀页面:

阿贾克斯:

0 投票
1 回答
1902 浏览

c# - Razor Page Net Core 2.0 - 发布后保留数据

我正在努力想办法弄清楚这应该很简单......

我想获取所有用户的列表,在 <.select> 中选择一个,按一个按钮,获取该用户分配的所有角色,这就是它失败的地方这是代码

这是剃刀页面

我尝试了以下方法:

抛出异常Page()后返回OnPostGetRolesAsync()

NullReferenceException:对象引用未设置为对象的实例。

@foreach (ApplicationUser au in Model.UserList)

我猜是因为OnGet没有运行并且UserListnull

如果我将其更改为RedirectToPage()thenOnGet被解雇并将 UserRoleList 设置为一个新列表,我们将回到第一方

尝试打开页面时,从中删除将引发相同的异常(但对于UserRoleList = new List<string>(); UserRoleList )OnGet

干杯

0 投票
1 回答
2967 浏览

c# - 使用 ASP.NET Core v2 将值保存在内存中

使用 Razorpage,我使用包含键和值的 C# 列表从 SQL 查询中填充了 5 个选择框 onPageLoad

保存表单时,我需要再次获取这些列表中的键和值

因此,为了防止对 SQL 进行更多查询,我想在加载时将列表(键、值对)存储在内存中,以便稍后使用 C# 访问它

我怎样才能做到这一点?

我正在使用 ASP.NET Core v2 和 C#

谢谢

托马斯

0 投票
1 回答
968 浏览

asp.net - 在新的 ASP.NET core 2.0 中将 html 块插入 Razor 页面的正确方法是什么

我正在使用带有 Razor 页面的新 asp.net core 2.0 构建一个网站。我在插入 html 块以供重用时遇到了麻烦(例如菜单)。我在这里问,我得到的答案是使用 @{Html.RenderPartial

然后,当我使用它时,我仍然遇到错误。为了解决这个错误,我必须从我想要插入到页面的 .cshtml 文件中删除 @page。原因,正如我在这里得到的答案是因为@{Html.RenderPartial是 MVC 的一部分,因此它是部分视图,不能使用页面顶部的 @page。

但是,这是我的困惑:在 Microsoft 的文档中,他们说得很清楚,现在有了新的 asp.net core 2.0,您应该将 @page 放在您创建的每个页面(.cshtml 文件)中。

所以,现在的问题是:在新的 asp.net core 2.0 中插入 html 块以供重用的正确方法是什么,是否有正确的方法?

因为您似乎要么使用 MVC,要么必须删除 @page。但微软说你必须把@page。所以我很困惑。

他们是这样写的:“。@page 必须是页面上的第一个 Razor 指令。”

从这个页面:https ://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/index?tabs=visual-studio

此外,新的 ASP.NET 核心 2.0 是 MVVM。那么为什么我必须使用 MVC 才能重用 html 块呢?

谢谢