razor-pages 相关问题

适用于与Razor Pages相关的问题,这是从ASP.NET Core 2.0开始的ASP.NET Core的一个功能。

如何在 Razor Pages 错误页面上显示服务器异常

每当发生错误时,我都会有一个名为 error.cshtml 的重定向页面,但我不确定如何访问此页面上显示的服务器错误以进行远程故障排除。我知道这是不好的做法

回答 1 投票 0

Razor Pages OnPost 方法中的 Page() 方法有什么作用?

ASP.NET核心2 我有以下页面模型代码 公共类CreateModel:PageModel { 私有只读 IItemService _itemService; 公共 ItemCreateViewModel ItemModel { 获取;放; } p...

回答 1 投票 0

为什么我的 ASP.NET Core 5 Razor 页面在 IIS 上返回 404,但在 Visual Studio 中却没有?

我们有一个基于 .NET Core 5 构建的应用程序,有一个非常奇怪的问题。 95% 的 Web 应用程序运行完美,但有一个 Razor 页面会生成 404 - 但仅在部署到生产环境时

回答 1 投票 0

如何更改 Razor Pages 表单的 POST 上的 [BindProperty] 值?

我正在使用一个剃刀页面创建一个表单(我知道这可能不是一个好主意,但我正在尝试做一些[不那么]快速原型设计。基本上,第一步是用户输入一堆数据...

回答 1 投票 0

如何配置 Razor Pages 项目以使用 WebApi 项目中的身份端点(使用 cookie 身份验证)

我有一个 WebApi 项目,它具有所有业务逻辑的端点,包括用于登录/注册等的身份端点的实现。 Cookie 身份验证在 WebApi 上运行良好

回答 1 投票 0

Visual Studio IDE Razor 隐式转换不起作用

我正在从 .NET 4.7 上的 ASP.NET 升级到 ASP.NET Core 8,并且我正在使用升级工具。我选择使用 YARP 作为反向代理并行增量升级。我现在有了旧的点网

回答 1 投票 0

方法 OnClick - ASP.NET Core - 剃刀页面

我有一个带有 标签的按钮,在这个标签中我定义了 onclick 的方法。该事件正在调用脚本。我想将我的标签更改为 ,在此标签中我们不能使用... 我有一个带有 <a> 标签的按钮,在这个标签中我定义了 onclick 的方法。该事件正在调用脚本。我想将标签更改为 <Select>,在此标签中我们不能使用 onclick - 如何在选择标签中使用 onclick 并调用该脚本? 在我的项目中,我希望当单击标签时获取记录 Id 并获取该 Id 的值 我希望当我单击选择(黑色区域)时获取 Id 记录红色区域并从表中获取所有记录值 <a href="#" id="Usernm2" name="id" onclick="getSddIdW(@item.Id)" data-target="#ModalSend" data-toggle="modal" class="AllIcon " data-placement="tooltip" title=""> <i class="btn bg-primary-bright"></i> </a> 下面是<Select>中使用onclick的demo,大家可以参考一下。 @page @model IndexModel @{ ViewData["Title"] = "Home page"; } @functions{ public string GetHello() { return "Hello"; } } <select id="TypeOfUser" name="typeOfUser" class="active text-normal" Onclick="RazorFunction()"> <option value="2" >CMS Users</option> <option value="3">Site Users</option> </select> <button> aa</button> @section Scripts { <script> function RazorFunction() { $("button").html('@GetHello()'); } </script> } 结果: 但我建议你在onchange中使用<Select>。 结果:

回答 0 投票 0

如何将模型的选定属性绑定到 Razor 页面?

我刚刚转向 Razor Pages,但遇到了困难。这是一个页面模型: 公共类ThisPersonPageModel:PageModel { [绑定属性] 公共 MyApp.Models.Person ThisPerson { 获取;放; } ...

回答 2 投票 0

为什么 Razor Pages 模型绑定中需要 [BindProperty]?

我的 .cs 文件中有以下代码: [绑定属性] 公共 ApimSubscriptionRoot apimSubscriptions { 获取;放; } ...这允许我在 Razor 视图中访问对象的属性,如下所示: @莫...

回答 1 投票 0

如何处理多个asp页面处理程序之间的冲突

我的登录和注册表单位于同一页面。 在 ASP.NET Core Razor Pages 中,我有一个名为 account 的页面,其中有两个处理程序,一个是用于登录的 OnPostLogin 和用于新...

回答 1 投票 0

将数据从视图传递到控制器 asp.net core razor 页面

我正在尝试创建一个简单的 asp.net core razor 网站。 我有一个 .cshtml 页面: @页 @使用 RazorPages @model索引模型 @using (Html.BeginForm()) { 怎么啦...

回答 1 投票 0

如何正确设置 razor 页面以访问代码隐藏中的数据

我是 Razor Pages 新手,我发现可以使用代码隐藏文件将代码分为两部分。因此,我创建了这个 Index 类来初始化我的日期并将其打印到 .cshtml 文件中。但是当...

回答 2 投票 0

如何在 ASP.NET Core Razor 页面中将对象从一个页面传递到另一个页面?

我正在使用 ASP.NET Core 2.0 和 Razor Pages 开发一个 Web 应用程序。我正在使用一些数据创建一个对象,并希望将该对象发送到另一个页面。我正在这样做: var 自定义对象 = new{...

回答 6 投票 0

如何将代码隐藏中的字符串动态插入到 Razor Pages 元素的 asp-for 属性中

我可以以某种方式从类中获取字符串值并将这些字符串值插入到 Razor Page HTML 元素的 asp-for 属性的值中吗? 我有一个像下面这样的类,只包含 n...

回答 1 投票 0

Razor 页面:对所有返回类型以及何时使用它们感到困惑

我通常对在 Razor Pages 中使用某些 C# 返回类型的“原因”(而不是“如何”)感到困惑。在某些情况下,我理解“为什么”,但不清楚......

回答 2 投票 0

Razor 页面:带参数的重定向到页面

我有一个剃刀页面,显示公司和员工列表: @page“/admin/companies/editor/{id}” @model编辑器模型 @{ } 管理员。公司。编辑 Id = @ 我有一个剃刀页面,显示公司和员工列表: @page "/admin/companies/editor/{id}" @model EditorModel @{ } <h1>admin . companies . editor</h1> <h4>Id = @Model.Id</h4> <h4>Name = @Model.OrgStructure.Organisation.Name</h4> <h4>Staff Count = @Model.OrgStructure.Staff.Count</h4> <table> <tr> <th>Id</th> <th>Name</th> </tr> @if (Model.OrgStructure.Staff.Any()) { foreach (Staff s in Model.OrgStructure.Staff) { <tr> <td>@s.Id</td> <td>@s.Username</td> </tr> } } else { <tr> <td colspan="2">No Staff</td> </tr> } </table> <a class="btn btn-primary" asp-page="/admin/companies/staff/create" asp-route-orgId="@Model.OrgStructure.Organisation.Id">Create Staff</a> @functions { public class EditorModel : PageModel { public string Id { get; set; } public OrganisationStructure OrgStructure { get; set; } public void OnGet(string id) { Id = id; using (DirectoryApp app = ServicesFactory.MakeDirectoryService()) { OrgStructure = app.GetOrganisationStructureAsync(new Guid(id)).Result; } } } } 当我点击时: <a class="btn btn-primary" asp-page="/admin/companies/staff/create" asp-route-orgId="@Model.OrgStructure.Organisation.Id">Create Staff</a> 它带我进入我的员工创建页面: @page "/admin/companies/staff/create/{orgId}" @model CreateModel @{ } <h1>admin . companies . staff . create</h1> <h3>OrganisationId = @Model.OrganisationId</h3> <form method="post"> <input name="OrgId" value="@Model.OrganisationId" /> <div asp-validation-summary="All" class="text-danger"></div> <div class="form-group"> <label>User Name</label> <input name="UserName" class="form-control" value="@Model.UserName" /> </div> <button type="submit" class="btn btn-primary">Submit</button> <a class="btn btn-secondary" asp-page="/admin/companies/editor" asp-route-id="@Model.OrganisationId">Back</a> </form> @functions { public class CreateModel : PageModel { [BindProperty] [Required] public string UserName { get; set; } public Guid OrganisationId { get; set; } public void OnGet(string orgId) { OrganisationId = new Guid(orgId); } public async Task<IActionResult> OnPostAsync(string userName, string orgId) { if (ModelState.IsValid) { using (DirectoryApp app = ServicesFactory.MakeDirectoryService()) { await app.AddStaffToOrganisationAsync( new Guid(orgId), new Staff() { Username = userName }); return RedirectToPage("/admin/companies/editor/" + orgId.ToString()); } } return Page(); } } } 我有两个问题: 如果我单击“提交”并出现模型错误,则会收到错误消息,但使用 @Model.OrganizationId 的字段将被清空。 我猜想当在 OnGet() 方法中设置 OrganizationId 时,它会在发布后丢失。 这是否意味着我需要在 OnPostAsync() 方法中重新填充我的 CreateModel.OrganizationId? 如果我成功的话: return RedirectToPage("/admin/companies/editor/" + orgId.ToString()); 应该带我回到原来的屏幕,查看新添加的员工的公司。 但是,我收到错误: 处理请求时发生未处理的异常。 InvalidOperationException:没有名为“/admin/companies/editor/473be1aa-7d62-4964-b744-b34e0489d7ad”的页面与提供的值匹配。 但是,如果我将“/admin/companies/editor/473b...”复制并粘贴到浏览器地址栏中的“localhost:12345”之后,则页面打开没有问题。 我做错了什么? 如果我单击“提交”并出现模型错误,则会收到错误消息 但使用 @Model.OrganizationId 的字段被清空。 我猜当在OnGet()方法中设置OrganizationId时,这是 发帖后丢失。这是否意味着我需要重新填充我的 OnPostAsync() 方法中的 CreateModel.OrganizationId? 这个问题的答案是: 我不应该在 OnPostAsync 方法中声明参数,而应该使用 CreateModel 本身中的属性(带有绑定)。 在 CreateModel 中的 OrganizationId 属性上使用 [BindProperty]。 在输入控件上,将 OrgId 字段的名称更改为 OrganizationId。 所以: <input name="OrgId" value="@Model.OrganisationId" /> 更改为: <input name="OrganisationId" value="@Model.OrganisationId" /> 和 public async Task<IActionResult> OnPostAsync(string userName, string orgId) { if (ModelState.IsValid) { using (DirectoryApp app = ServicesFactory.MakeDirectoryService()) { await app.AddStaffToOrganisationAsync( new Guid(orgId), new Staff() { Username = userName }); return RedirectToPage("/admin/companies/editor/" + orgId.ToString()); } } return Page(); } 更改为: public async Task<IActionResult> OnPostAsync() { if (ModelState.IsValid) { using (DirectoryApp app = ServicesFactory.MakeDirectoryService()) { await app.AddStaffToOrganisationAsync( OrganisationId, new Staff() { Username = this.UserName }); return RedirectToPage("/admin/companies/editor", new { id = OrganisationId.ToString() }); } } return Page(); } 和 [BindProperty] [Required] public string UserName { get; set; } public Guid OrganisationId { get; set; } 更改为 [BindProperty] [Required] public string UserName { get; set; } [BindProperty] public Guid OrganisationId { get; set; } 使用上述: 在模型验证失败的帖子中,属性在之后仍保留在 UI 上 返回页面(); 现在,我已将参数作为匿名对象移动到第二个参数,而不是连接字符串作为查询参数,重定向到页面就可以工作了。 RedirectToPage("/admin/companies/editor", new { id = OrganisationId.ToString() })正确 如果您需要传递列表作为RedirectToPage的参数,您可以这样做: return RedirectToPage("./Index", new { MigrationStatus = new List<int>() { (int)MigrationStatus.AwaitingStart, (int)MigrationStatus.InProgress } }); 它将创建一个像这样的 URL: https://localhost:123/Migrations?MigrationStatus=3&MigrationStatus=4

回答 2 投票 0

如何在 cshtml 文件上分离 2 个不同的元素以使用相同的表单

我有这个代码: 数量: 我有这个代码: <div class="mb-3"> <label for="quantity" class="form-label">Quantity:</label> <input type="number" id="quantity" class="form-control d-inline-block" style="width: 100px;" min="1" value="1" /> </div> <div class="d-flex gap-2"> <form method="post" asp-page-handler="AddToCart"> <input type="hidden" name="productId" value="@Model.Product.Id" /> <button type="submit" class="btn btn-success">Add to cart</button> </form> <a href="#" class="btn btn-warning ml-2">Buy now</a> </div> 如何使用下面表格“数量”选项中的数量值,而不必将其放入表格中? 抱歉英语不好或问题执行不力 我尝试将 <form></form> 放在数量选项上,并使用与下面的表格相同的 asp-page-handler 但没有成功 您可以向表单添加隐藏字段,然后使用客户端代码为其分配数量输入值: <form method="post" asp-page-handler="AddToCart"> <input type="hidden" name="productId" value="@Model.Product.Id" /> <input type="hidden" name="quantity" value="1" /> <button type="submit" class="btn btn-success">Add to cart</button> </form> <script> document.querySelector('#quantity').addEventListener('change', (e) => { document.querySelector('[name="quantity"]').value = e.target.value; }); </script>

回答 1 投票 0

为什么 RedirectToPage() 在我的 ASP.NET Core 3 Razor Pages 异步方法中不起作用?

我在 LogOut razor 页面中有以下代码。 公共异步任务 OnPostAsync() { 等待登录管理器.SignOutAsync(); RedirectToPage("/身份/登录"); } 但它没有重定向到...

回答 1 投票 0

为什么 RedirectToPage() 在我的 ASP.NET Core 3 Razor Pages 代码中不起作用?

我在 LogOut razor 页面中有以下代码。 公共异步任务 OnPostAsync() { 等待登录管理器.SignOutAsync(); RedirectToPage("/身份/登录"); } 但它没有重定向到...

回答 1 投票 0

在 c# Razor 6.0 页面上的代码隐藏中访问 Html 控件

我正在尝试抓取 HTML 元素,以便首先设置然后获取单选列表的选定值。 我有以下要素 我正在尝试抓取 HTML 元素,以便首先设置然后获取单选列表的选定值。 我有以下要素 <input type="radio" id="radioAlertOnly" name="AnomalyLevel" runat="server" value="0" /> <input type="radio" id="radioIsolateAndAlert" name="AnomalyLevel" runat="server" value="1" /> <input type="radio" id="radioRemediateAndAlert" name="AnomalyLevel" runat="server" value="2" /> <input type="radio" id="radioRemediateAndLog" name="AnomalyLevel" runat="server" value="3" /> 我尝试添加 Blazor.WebForm.UI 包来提供对 System.Web.UI 和 System.Web.UI.HtmlElements 库的访问,但它们都没有 FindControl 方法。 我也尝试过只使用面板,但这没有什么区别。 有人知道如何在代码隐藏中访问这些元素吗? @panagiotis-kanavos 在上面的评论中给出了很好的答案。 我还发现,您可以使用 JavaScript 调用 或对 HTML Elements 或 前端组件 进行简单的 @Ref 调用,如提供的链接所示。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.