asp.net-core-mvc 相关问题

ASP.NET Core MVC是一个轻量级的表示框架,用于使用ASP.NET Core创建动态网站。它允许创建基于控制器的MVC站点,或查看基于模型的Razor页面。 MVC包括路由,模型绑定和验证,过滤器,Web API和Razor视图引擎等功能。

如何在 ASP.NET Core 8 MVC 中为区域创建路由、默认操作名称并在斜杠后指定 id(相对于“?id=”)?

如何在 ASP.NET Core 8 MVC 中为区域中的页面创建路由,默认操作名称,同时允许在斜杠后指定 id(相对于“?id=”)?我读过很多文章...

回答 1 投票 0

安全性:ASP.NET Core 8 MVC 中的表单与 AJAX 请求

我正在查看 ASP.NET Core 8 MVC 项目的订阅页面。 在安全性方面,这两种方法是否兼容? 我确实更喜欢 AJAX,因为它让我可以拥有 JS 烤面包机......

回答 1 投票 0

在 ASP.NET Core 2.0 Web Api 中返回“原始”json

AFAIK 在 ASP.NET Core Web Api 中返回数据的标准方法是使用 IActionResult 并提供例如OkObject 结果。这对于对象来说效果很好,但是如果我获得了一个 JSON 字符串呢?

回答 4 投票 0

在 ASP.NET Core 中动态解析作用域服务

在我的 ASP.NET Core 应用程序中,我有一个场景,我需要动态解析工厂内的作用域服务来处理不同的操作。这是我当前设置的概述和...

回答 1 投票 0

如何在 ASP.NET Core 8 MVC 中使用 graph api 获取用户个人资料照片

我正在为我的项目使用 ASP.NET Core 8 MVC。我当前的任务涉及使用 Microsoft Graph API 从 Azure Active Directory 检索用户的个人资料照片。 为了实现这一目标,我已经开始...

回答 1 投票 0

ASP.NET Core 身份(基于角色的授权)

我正在尝试习惯 ASP.NET Core MVC,但在用户角色方面遇到了问题。 我成功注册了管理员角色帐户后,但是当我调试时,返回以下行代码...

回答 1 投票 0

在视图中使用多个 ASP.NET Core MVC 模型

在我的 ASP.NET Core MVC 应用程序中,我有一个注册页面,它使用模型类。我正在使用 Dapper 进行数据库连接。该表格运行良好,没有任何问题。我需要添加另一个模型,以便我可以

回答 1 投票 0

重定向 Microsoft Identity Platform 访问在 ASP.NET Core 中被拒绝

我觉得我已经阅读了 Stack Overflow 上的每一篇文章,但没有任何内容符合我的情况。我有一个 ASP.NET Core 网站,它使用 Microsoft Identity Platform 进行身份验证。这是由

回答 1 投票 0

在 ASP.NET Core MVC Web 应用程序中使用 ASP.NET Core Web API 时出现问题

我收到以下错误消息 状态代码 404 未找到方法 从 ASP.NET Core MVC Web 应用程序读取 API 时。 这是我的 API 代码: [HttpGet("参与者ID")] 公共异步任务...

回答 1 投票 0

如何使用 MediatR 为同一请求模型获取不同的响应类型?

我正在尝试了解 MediatR 的工作原理。以前从未使用过这个库。下面的代码不是实际的生产代码。它仅用于理解目的。 假设我有两个 RequestHandler。每个

回答 2 投票 0

我代表了很多产品,但所有这些在控制器中的返回是我使用 ASP.NET Core 6 MVC 的第一个产品

我正确地代表了许多项目,但它在控制器中返回相同的对象,特别是数据库中的第一项 在控制器中: 公共 IActionResult AddToBasket(ProductsModel 产品) { ...

回答 1 投票 0

将 Razor 选择绑定到 ViewData 中的字典

我正在使用 .NET Core MVC(dotnet 版本 1.0.4)编写一个 Web 应用程序。 我想将 ViewData 对象中的 Dictionary 从控制器传递到视图并将其绑定到 元素... 我正在使用 .NET Core MVC(dotnet版本1.0.4)编写一个网络应用程序。 我想从控制器传递 Dictionary<string, string> 对象中的 ViewData 来查看并将其绑定到 <select> 元素。 这是我想要得到的结果: 我尝试了两种方法来实现它。 第一种方法 控制器代码 Dictionary<string, string> animals = new Dictionary<string, string>(); animals.Add("1", "cat"); animals.Add("2", "dog"); animals.Add("3", "bunny"); ViewData["animals"] = new SelectList(animals); 视图代码 <select asp-for="Animal_id" asp-items="(SelectList)@ViewData["animals"]" class="form-control"></select> 这给了我这个结果 第二种方法 控制器代码 Dictionary<string, string> animals = new Dictionary<string, string>(); animals.Add("1", "cat"); animals.Add("2", "dog"); animals.Add("3", "bunny"); ViewData["animals"] = new SelectList(animals.Select(r => new SelectListItem { Text = r.Key, Value = r.Value })); 视图代码 一样。 这给了我这个结果: 显然,我不明白这个概念,尽管我觉得我走在正确的轨道上。你能帮我吗 - 需要做什么才能从我的第一张照片中获得结果(<option>s 和 values)? 您使用 SelectList 构造函数的重载,其中参数为 IEnumerable。该重载会调用集合中每个项目的 .ToString() 方法,并且因为它们是复杂的对象,所以您会得到您所看到的结果。仅当您的收藏是IEnumerable<string>时,这种重载才真正有用。 您需要使用接受 dataValueField 和 dataTextField 参数的重载,它定义了用于选项值和显示文本的属性。 Dictionary<string, string> animals = new Dictionary<string, string>(); animals.Add("1", "cat"); animals.Add("2", "dog"); animals.Add("3", "bunny"); ViewData["animals"] = new SelectList(animals, "Key", "Value"); 另请注意,在第二个示例中,您已经生成了一个 IEnumerable<SelectListItem> 要使用 new SelectList(...) 从第一个示例创建相同的 IEnumerable<SelectListItem> 是毫无意义的额外开销,它可以是 ViewData["animals"] = animals.Select(r => new SelectListItem { Text = r.Key, Value = r.Value })); 在视图中asp-items="(IEnumerable<SelectListItem>)@ViewData["animals"]" 使用当前代码,您正在创建一个 SelectList,但未指定数据值字段和数据文本字段(您正在使用的集合的)。 您可以使用带有这 2 个参数的 SelectList 重载。 ViewData["animals"] = new SelectList(animals.Select(r => new SelectListItem { Value = r.Key.ToString(), Text = r.Value }),"Value","Text"); 但这是我们正在执行的不必要的代码。您已经在创建一个 SelectListItem 列表(以传递给 SelectList)。您应该简单地使用该集合来构建选择元素。 var animals = new Dictionary<string, string>(); animals.Add("1", "cat"); animals.Add("2", "dog"); animals.Add("3", "bunny"); ViewData["animals"] = animals.Select(r => new SelectListItem { Value = r.Key.ToString(), Text = r.Value }); 在你看来 <select asp-for="SomePropertyName" asp-items="@(ViewData["animals"] as IEnumerable<SelectListItem>)"> </select> 如果您使用 ViewBag 而不是 ViewData,则不需要显式转换。 ViewBag.AnimalList= animals.Select(r => new SelectListItem { Value = r.Key.ToString(), Text = r.Value }); 和 <select asp-for="Name" asp-items="@ViewBag.AnimalList"> </select>

回答 0 投票 0

ASP.NET Core MVC:扩展RequiredAttribute的工作方式

我想扩展RequiredAttribute如何与强类型视图模型一起工作。例如,我有一个参考数据视图模型,如下所示: 公共类ReferenceDataViewModel { 公开...

回答 1 投票 0

(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)ASP.NET Core 8.0.1

当我尝试连接数据库时发生此错误 当我发出命令(更新数据库)时,会发生此错误: 我已经下载了软件包: Microsoft.EntityFrameworkCore 微软。

回答 1 投票 0

发生致命错误。找不到所需的库 libhostfxr.dylib

我正在使用 .NET 5.0 开发 ASP.NET 项目。对于数据库创建,我运行了命令 dotnet 工具安装 --global dotnet-ef 安装后,当我运行此命令时: 点网EF 我得到了...

回答 4 投票 0

用户登录ASP.NET Core Identity期间出现空异常

我对 ASP.NET Core 相当陌生。我正在开发一个简单的社交媒体网络应用程序,并决定将身份添加到我现有的用户中。我在登录用户时遇到问题。问题发生在 b...

回答 1 投票 0

ASP.NET Core 8.0 MVC、数据库优先、C#:尝试通过迁移添加身份

我有一个名为 context1 的 DbContext,我向其中添加了 IdentityDbContext 的依赖项。我还在数据访问层项目中添加了实体身份所需的 NuGet 包。 搭建脚手架后...

回答 1 投票 0

在.Net 8 Web应用程序中覆盖signin-google端点

我有一个应用程序,按照此处定义的方式使用外部登录到Google。登录时,它会回调我的应用程序到内置的“/signin-google”端点。我的意图...

回答 1 投票 0

我的 ASP.NET Core 按钮根本不发送任何内容(ASP.NET Core MVC 和 C#)

我已经编写了这个按钮,但它不能正常工作,它没有调用控制器文件中的 create HTTP 方法: 故事看一下: @模型IEnumerable 我已经编写了这个按钮,但它不能正常工作,它没有调用控制器文件中的 create HTTP 方法: 讲讲看: @model IEnumerable<MyApplication.Models.Clients> <div class="row"> <div class="col-md-4"> <form asp-action="Create" method="post"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label for="CODE" class="control-label">Code:</label> <input name="CODE" class="form-control" /> </div> <div class="form-group"> <label for="NAME" class="control-label">Name:</label> <input name="NAME" class="form-control" /> </div> <div class="form-group"> <input type="submit" value="Insert" class="btn btn-primary" /> </div> </form> </div> </div> <table class="table" id="Tabla4"> <thead> <tr> <th> @Html.DisplayNameFor(model => model.CODE) </th> <th> @Html.DisplayNameFor(model => model.NAME) </th> <th></th> </tr> </thead> <tbody> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.CODE) </td> <td> @Html.DisplayFor(modelItem => item.NAME) </td> <td> </td> </tr> } </tbody> </table> 单击“插入”按钮后,它不会执行任何操作,我的 Create 方法甚至没有在控制器文件中调用(空参数) public ActionResult Create([Bind] Clients clients) { try { if (ModelState.IsValid) { dbContext.InsertData(clients); return RedirectToAction("Index"); } return View(clients); } catch { return View(); } } 一直在搜索并试图解决它,但似乎我做得不正确,我在这里迷失了方向。我应该纠正什么? 可以帮助我吗? 您的视图收到 MyApplication.Models.Clients 的集合,当您单击提交按钮时,您将 Clients 的集合发送到控制器。 因此,如果您想将 Clients 类型的对象从视图发送到控制器,您应该创建另一个接收 MyApplication.Models.Clients 模型的操作和视图,如下所示。 创建视图: @model MyApplication.Models.Clients <div class="row"> <div class="col-md-4"> <form asp-action="Create" method="post"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label for="CODE" class="control-label">Code:</label> <input name="CODE" class="form-control" /> </div> <div class="form-group"> <label for="NAME" class="control-label">Name:</label> <input name="NAME" class="form-control" /> </div> <div class="form-group"> <input type="submit" value="Insert" class="btn btn-primary" /> </div> </form> </div> </div> 控制器: [HttpGet] public ActionResult Create() { return View(); } [HttpPost] public ActionResult Create(Clients clients) { try { if (ModelState.IsValid) { dbContext.InsertData(clients); return RedirectToAction("Index"); } return View(clients); } catch { return View(); } } 我希望问题能得到解决。将属性 [HttpPost] 添加到控制器方法就可以了。如果也这样做了,请尝试添加 .cshtml 视图中未使用的剩余模型属性元素并保持隐藏。所以会绑定模型。 我的例子:如果文件未上传到输入,并单击按钮。这不是击中帖子方法。但当我将 .cshtml 中的表单内的元素添加为隐藏时,它就起作用了。我能够单击按钮并进入后控制器方法。

回答 2 投票 0

不支持IFormFile

要使用IFormFile,我们必须安装Microsoft.AspNetCore.Http包,但它在.NET 8中已被弃用。如何解决这个问题? 我尝试添加 IFormFile 来上传图像。但要添加 IFormFile,我

回答 1 投票 0

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