适用于与Razor Pages相关的问题,这是从ASP.NET Core 2.0开始的ASP.NET Core的一个功能。
Razor 页面仅在首次加载时进行模型绑定 - 不在重新加载时进行绑定
我有一个 Razor 页面,其中的表单仅适用于启动应用程序后的第一次加载,但在任何后续请求中,表单值都是空且未绑定。
我有以下代码将文件名从表单帖子转换为 zip 并返回它们。 当我运行它时,我得到 .zip 文件,但它无效。有人看到我的错误吗? 公共 IActionResult OnPost() {...
Razor 页面上 @foreach 的正确语法,其中值可以等于多个值
我需要帮助以确保我的 razor 页面上的此代码的语法正确: @foreach(Model.Results 中的 varOfficerGroup .Where(i => i.InvestType in (&quo...
我需要通过重定向来传递集合。但“RedirectToPage”仅通过 GET 请求发送。 是否有另一种方式,通过重定向发送数据? 公共类ListModel:PageModel { 列表<
所以我对使用 Razor Pages 进行实验的 Asp.Net 框架还比较陌生。我面临模型绑定的问题。它似乎没有按预期工作。 这是我的剃须刀页面。关于“
我有一个asp.net core7程序,其中使用了vue.js,我的问题是如何向vue.js方法发送一些参数? 我有一个asp.net core7程序,其中使用了vue.js,我的问题是如何向vue.js方法发送一些参数? <i v-on:click="DeleteSale('@item.ID','@item.Image')" class="far fa-trash-alt cursor text-danger"></i> DeleteSale(ID, Image) {...} 是否要在razor页面中使用vue.js并将@item.ID、@item.Image传递给DeleteSale方法?如果是这样的话,这里有一个例子可以作为参考(需要注意的是,你的按钮属性应该放在 <div id="app"> </div> 容器中): @section Scripts { <script src=https://unpkg.com/vue@3/dist/vue.global.js></script> <script> const app = Vue.createApp({ data() { return { }; }, methods: { DeleteSale(ID, Image) { console.log("DeleteSale method called with ID:", ID, "and Image:", Image); } } }); app.mount('#app'); </script> } <div id="app"> <button v-on:click="DeleteSale('@Model.Id','@Model.Image')" class="btn btn-danger"> <i class="far fa-trash-alt"></i> </button> </div> 可接收参数:
在我的 Blazor 服务器端应用程序中,我想在用户离开 Razor 页面并更改到另一个页面时运行代码。我怎样才能做到这一点?
我有以下用例: 我有一个剃刀页面,用户可以在其中连接到远程计算机并监视其过程值。当他进入相关页面时,将从 r 中循环读取值...
从 Razor Pages .Net Get 的 Ajax Json 渲染数据表问题
我一直在尝试遵循 DataTables (https://datatables.net/examples/api/row_details.html) 中的这个示例,但似乎无法加载表数据。我的 ajax 调用中断了...
如何在 ASP.NET Core Razor Pages 项目中使用实体框架作为 _layout.cshtml 文件中的分部视图来使用 Razor Page?
在 ASP.NET Core Razor Pages 项目中,我想从数据库中获取员工姓名并将其显示为侧边栏菜单中的菜单项。侧边栏菜单位于 _layout.cshtml 文件中。 我使用...添加 Razor 页面
解决 ASP.NET Core DI 中的自定义 IdentityErrorDescriber
我基于这种方法创建了一个自定义的 IdentityErrorDescriber,并像这样注册它: 服务 .AddIdentityCore() .AddErrorDescriber...
我在项目中配置 CRUD 时遇到了问题。视图看不到来自控制器的方法。我使用了主视图和部分视图。 主视图代码: 我在项目中配置 CRUD 时遇到了问题。视图看不到来自控制器的方法。我使用了主视图和部分视图。 主视图代码: <div class="container col-md-10 m-auto" style="width: auto;"> <div class="d-flex align-items-center justify-content-center"> <div class="btn-group" role="group" aria-label="Basic example"> <button type="button" class="btn btn-secondary btn-with-image" onclick="sendObjectType('Star')"> <div class="div-with-image" style="background-image: url('../Graphics/StaticImages/star.png');"></div> </button> <button type="button" class="btn btn-secondary btn-with-image" onclick="sendObjectType('Planet')"> <div class="div-with-image" style="background-image: url('../Graphics/StaticImages/planet.png');"></div> </button> <button type="button" class="btn btn-secondary btn-with-image" onclick="sendObjectType('Moon')"> <div class="div-with-image" style="background-image: url('../Graphics/StaticImages/moon.png');"></div> </button> </div> </div> </div> <div id="partialContainer"> </div> <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script> <script> function sendObjectType(objectType) { $.ajax({ type: "POST", url: "/Encyclopedia/Create", data: { objectType: objectType }, success: function (partialView) { $("#partialContainer").html(partialView); }, error: function (error) { console.error(error); } }); } </script> 部分视图代码: @model SolarSystemEncyclopedia.Models.Planet <div style="margin-top: 2%; margin-bottom: 2%;"> <div class="container-fluid col-md-10 m-auto"> <div class="row container-fluid d-flex align-items-center justify-content-center"> <div class="col-md-6 blue-div"> <h1>Create planet</h1> <form asp-controller="Encyclopedia" asp-action="CreatePartial" method="post" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> @Html.AntiForgeryToken() <div class="form-group mb-3"> <label asp-for="Name" class="control-label"></label> <input asp-for="Name" class="form-control main-inputs" /> <span asp-validation-for="Name" class="text-danger"></span> </div> <div class="form-group mb-3"> <label asp-for="Description" class="control-label"></label> <input asp-for="Description" class="form-control main-inputs" /> <span asp-validation-for="Description" class="text-danger"></span> </div> <div class="form-group mb-3"> <input type="submit" value="CreateMain" class="btn btn-primary" /> </div> <div> <a asp-action="Index">Back to List</a> </div> </form> </div> </div> </div> </div> 在控制器中我有以下方法: [HttpGet] public async Task<IActionResult> Create() { return View(); } [HttpPost] public IActionResult Create(string objectType) { switch (objectType) { case "Star": return PartialView("_CreateStarPartial"); case "Planet": return PartialView("_CreatePlanetPartial"); case "Moon": return PartialView("_CreateMoonPartial"); default: return BadRequest(); } } [HttpPost] public async Task<IActionResult> CreatePartial<T>(T obj) where T : CosmicObject { if (ModelState.IsValid == true) { if (obj is Planet planet) { var star = _context.Star.FirstOrDefault(s => s.Id == planet.MainStarId); planet.MainStar = star; planet.Density = Double.Parse(planet.StringDensity); } if (obj.MainImage != null) { string uploadsFolder = Path.Combine(_appEnvironment.WebRootPath, "Graphics", "ObjectImages", obj.Name); string uniqueFileName = obj.Name + "MainImage.jpg"; string filePath = Path.Combine(uploadsFolder, uniqueFileName); if (!Directory.Exists(uploadsFolder)) { Directory.CreateDirectory(uploadsFolder); } using (var fileStream = new FileStream(filePath, FileMode.Create)) { await obj.MainImage.CopyToAsync(fileStream); } } _context.Add(obj); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } return View(obj); } 第一种方法打开主视图,第二种方法打开部分视图,第三种方法应在提交表单后打开。 我更改了方法的名称,尝试向视图中的表单添加不同的标签,但没有任何效果。形式表明应该调用 post 方法,但即使 post 方法和 get 方法同名,由于某种原因仍会调用 get 方法。 网上查了一下,发现可能和ajax有关,但是没找到修复的办法。 我相信您的AJAX电话不完整。另外为什么是 Create GET 方法 async ?您可以参考以下代码更改,希望能解决您的问题: 将您的 AJAX 通话更改为: <script> function sendObjectType(objectType) { var param = { objectType: objectType}; $.ajax({ type: "POST", url: '@Url.Action("Create", "Encyclopedia")', data: { "json": JSON.stringify(param)}, dataType: "html", success: function (partialView) { $("#partialContainer").html(partialView); }, error: function (error) { console.error(error); } }); } </script> 你的 Controller 方法将如下所示: [HttpGet] public IActionResult Create() { return View(); } [HttpPost] public IActionResult Create(string json) { var jsondata = JsonConvert.DeserializeObject<dynamic>(json); string objectType = Convert.ToString(jsondata["objectType"]); switch (objectType) { case "Star": return PartialView("_CreateStarPartial"); case "Planet": return PartialView("_CreatePlanetPartial"); case "Moon": return PartialView("_CreateMoonPartial"); default: return BadRequest(); } }
我正在尝试运行一个使用 EF 的项目,但 dotnet 发出了投诉: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1] 执行时发生未处理的异常...
我正在尝试使用以下 appsettings.json 在 Ubuntu 上运行 .NET: { “记录”:{ “日志级别”:{ “默认”:“信息”, “微软。
我有一个视图,该视图包含三个按钮。我想在按钮单击时显示不同的部分视图。我还想将模型转移到这些部分视图。我尝试了下面的代码,但它...
ASP.NET Core 7 项目在生产中首次加载需要很长时间
我有一个 ASP.NET Core 7 Razor 页面项目。它在本地主机上运行良好,但是当我将项目上传到互联网上的 Web 服务器时,第一次加载时,需要几秒钟才能加载
ASP.NET Core Razor 页面路由导致 http 404 错误
我正在使用 ASP.NET Core Razor 页面,并且此指令位于我的 Blog.cshtml 顶部 @page "/blog/{category?}/page/{pageNo?}" 现在我希望这些路线都与上面的匹配: /博客...
我正在开发一个 asp.net razor 页面。我面临的问题是,除了所有复选框之外,我无法选择任何已选中的复选框。 如果选中所有复选框,则所有选中的复选框都可以正常工作。 如果所有复选框都没有
我在 asp.net core razor 页面工作。我将选定的 id 作为数组成功传递 但我的问题为复选框选择的文本值未通过或显示 问题发生在这一行 selectedClassText.push($(this).
我想使用@Html.Raw(string),(其中string包含完整的html网页)并在同一页面上并排显示卡片格式的多个网页
下面是网页中多个卡片元素的 css 和 Html,每个卡片元素都包含一个网页,但这对我不起作用。当我尝试将文本放在网络位置时...
当我重复调用作用域服务(即输出值)时,我的 Blazor 服务器端 razor 页面中的值不会更新。为什么?
我有以下 razor.cs 代码,该代码正在调用作用域服务中的函数。作用域服务中的函数正在从 REST API 读取动态变化的过程值。当我调用该函数时...