asp.net-core-mvc 相关问题

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

ASP.NET Core 2.0 MVC 文件上传大小限制

我在 ASP.NET Core 2.0 MVC Web 应用程序中上传大文件时遇到问题。 我看过一些文章,例如这篇文章,其中展示了如何增加 .NET Core 2.0 中的文件大小限制: 增加你...

回答 2 投票 0

ASP.NET Core MVC 网站的最大上传大小

如何设置 ASP.NET Core MVC 应用程序的最大上传大小? 过去我可以在 web.config 文件中设置它,如下所示: <

回答 2 投票 0

ASP.NET Core 6 身份调用启动时登录而不是主页

我正在快速建立一个新网站,使用我使用 ASP.NET Core Identity 构建的现有网站。现有网站加载主页 (/Index.cshtml),然后该页面上的链接允许

回答 1 投票 0

System.Net.Http 与 Microsoft.Net.Http

我正在使用 ASP.NET Core。我想使用 HttpClient,但我注意到提供了两个 NuGet 包。我该使用哪一个? 系统.Net.Http Microsoft.Net.Http

回答 4 投票 0

.net core 3.1 中的ExpressionMetadataProvider

将.net core 2.2迁移到3.1,我在使用“Microsoft.AspNetCore.Mvc.ViewFeatures”时遇到问题。 在此代码中,ExpressionMetadataProvider.FromLambdaExpression 在 .net core 3.1 中不支持。 公开

回答 3 投票 0

格式化电话号码

我的目标 我想将当前存储在数据库中的电话号码格式化为 1112223333,以显示为这种格式 111-222-3333。我只收集来自美国的电话号码。

回答 1 投票 0

以编程方式生成请求验证令牌

从一个空的 MVC 项目开始,这是我的 Startup.cs: 使用 Microsoft.AspNetCore.Builder; 使用 Microsoft.AspNetCore.Hosting; 使用 Microsoft.Extensions.DependencyInjection; 命名空间

回答 2 投票 0

在.net core中如何下载Web根目录中具有特殊扩展名的静态文件?

读完这篇文章后,这篇文章无法处理 Web 根目录(.net core 3.1)中的服务文件。 webroot 文件夹中有一个 CB 文件夹,我可以浏览任何 txt 或 png 文件,它工作正常,但是…

回答 2 投票 0

如何实现页面并访问部分视图,即使有链接

我需要方向。我在 .NBET Core 上有一个 ASP.NET Core MVC Web 应用程序,C#。 初步设计: 最初,有一个布局/主页(其中包含用户详细信息、站点名称和应用程序选择)。

回答 1 投票 0

ASP.NET Core MVC - 单选按钮选择在编辑期间不保留

我正在开发一个 ASP.NET Core MVC 应用程序,用户可以在其中管理类别。我有一个用于创建和编辑类别的部分视图(_AddOrEditModal.cshtml)。该部分视图包括...

回答 1 投票 0

ASP.NET Core MVC 电子商务使用 Ajax 过滤产品、品牌名称、类别

这里是产品过滤前端 HTML 代码: 过滤侧边栏 这是产品过滤前端 HTML 代码: 过滤侧边栏 <div class="widget widget-collapsible"> <h3 class="widget-title"> <a data-toggle="collapse" href="#widget-4" role="button" aria-expanded="true" aria-controls="widget-4"> Brands </a> </h3><!-- End .widget-title --> <div class="collapse show" id="widget-4"> <div class="widget-body"> <div id="brand-filter" name="brand-filter" class="brand-filter"> @foreach (var brand in ViewBag.brandlist as List<Brand>) { <div id="brand-filter" class="filter-item"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input brand-checkbox" id="@brand.id" value="@brand.id" name="custom-control-input"> <label class="custom-control-label" for="@brand.id"> @brand.name </label> </div><!-- End .custom-checkbox --> </div> <!-- End .filter-item --> } </div><!-- End .brand-filter --> </div><!-- End .widget-body --> </div><!-- End .collapse --> </div><!-- End .widget --> 我正在使用 EF Core 从 SQL 数据库中获取品牌列表和类别。 这是我的 AJAX 代码: <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> const formatCurrency = (value) => new Intl.NumberFormat('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(value) + ' TL'; const loadProducts = () => { // Gather filter values const category = $('#category-filter').val(); // Collect all checked brand checkboxes const brands = $('brand-filter input.custom-control-input:checked').map((_, el) => $(el).val()).get(); const sortby = $('#sortby-filter').val(); // Send AJAX request $.ajax({ url: '/urun/Filter', // Update this with the actual filtering endpoint method: 'GET', data: { category, brands: brands.join(','), sortby }, // Send brands as a comma-separated string success: (data) => { const productContainer = $('#product-list').empty(); if (data.length) { data.forEach((product) => { const addToCartUrl = `@Url.Action("AddToCart", "Home")?productId=${product.id}`; const loginUrl = '/Login/Index'; productContainer.append(` <div class="product-item col-6 col-md-4 col-lg-3"> <div class="product product-4"> <figure class="product-media"> <a href="/urun/${product.slug}"> <img src="${product.image}" alt="${product.name}" class="product-image"> </a> <div class="product-action-vertical"> ${product.a == 0 ? ` <a href="${loginUrl}" class="btn-product-icon btn-cart btn-expandable"><span>Sepete Ekle</span></a> ` : ` <a href="${addToCartUrl}" class="btn-product-icon btn-cart btn-expandable"><span>Sepete Ekle</span></a> `} </div> </figure> <div class="product-body"> <h3 class="product-title"> <a href="/urun/${product.slug}"> <span><a style="color:#015fc9" href="brand.html">${product.brandname}</a></span> ${product.name} </a> </h3> <div class="product-price"> ${product.indirimvarmı ? ` <span class="new-price">${formatCurrency(product.indirimliFiyat)}</span> <span class="old-price">Eski Fiyat: ${formatCurrency(product.price)}</span> ` : ` <div class="price">${formatCurrency(product.price)}</div> `} </div> <div class="product-action"> ${product.user == 1 ? ` <a href="${loginUrl}" class="btn-product btn-cart"><span>Sepete Ekle</span></a> ` : ` <a href="${addToCartUrl}" class="btn-product btn-cart"><span>Sepete Ekle</span></a> `} </div> </div> </div> </div> `); }); } else { productContainer.append('<p>No products found.</p>'); } }, error: () => alert('Ürünler yüklenirken bir hata oluştu.') }); } // Event bindings $('#category-filter, #sortby-filter').on('change', loadProducts); $(document).on('change', '.brand-checkbox', loadProducts); // Initial load $(document).ready(loadProducts); </script> 类别过滤器 UI HTML 标记: <div class="widget widget-collapsible"> <h3 class="widget-title"> <a data-toggle="collapse" href="#widget-1" role="button" aria-expanded="true" aria-controls="widget-1"> Category </a> </h3><!-- End .widget-title --> <div class="collapse show" id="widget-1"> <div class="widget-body"> <div class="filter-items filter-items-count"> @foreach (var category in ViewBag.categories as List<Category>) { <div class="filter-item"> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="[email protected]"> <label class="custom-control-label" for="[email protected]">@category.categoryname</label> </div><!-- End .custom-checkbox --> </div><!-- End .filter-item --> } </div><!-- End .filter-items --> </div><!-- End .widget-body --> </div><!-- End .collapse --> ```` Sortby 过滤器工作正常,但在品牌上,带有复选框的类别过滤器不起作用。我认为我对复选框 ID 和名称有疑问。请帮助我。 我可以编码选择 1 个过滤器项目并完美运行,但我想使用多个类别和品牌进行过滤。 根据客户端调用,您正在传递单个类别并尝试发送多个品牌: data: { category, brands: brands.join(','), sortby } 通过尝试字符串join,您的API端点将需要接受“品牌”作为string,而不是数组/列表。您可能想发布您的服务器端方法签名,但 Join 可能是不必要的: data: { category, brands: brands, sortby } public IActionResult Filter(int category, [FromQuery(Name = "brands")] int[] brands, string sortby) GET 请求期望查询字符串上的参数,但我相信复杂类型默认是从请求正文中期望的。可能需要 [FromQuery] 来确保这一点。如果您选择 2 个品牌(Id #1 和 #2),您的查询字符串应类似于“...&brands=1&brands=2...”使用带有 Join 的逗号分隔字符串也应该有效,但您需要从服务器端解析 ID: public IActionResult Filter(int category, string brands, string sortby) { var brandIds = brands.Split(',', StringSplitOptions.RemoveEmptyEntries) .Select(x => int.Parse(x)) .ToList(); 假设 ID 为 int。这将需要额外的防护/错误处理,以应对出现不良数据的任何意外情况。 除此之外,请考虑修改您的问题,详细说明您在调试过程中看到的内容,例如是否到达过滤器端点,或者到达时是否缺少预期参数等,而不是简单地“它不起作用”。在描述问题时,最好用“我期望看到什么”和“我实际看到什么”来表达。

回答 1 投票 0

ASP.NET Core 项目 - 发布不显示“数据库迁移”选项

我的项目曾经在 .NET Core 1.0 上完美运行,但迁移到 1.1 让我头疼了好几天! 我一直在使用 Microsoft Azure 进行发布,并且没有遇到太多问题。 我想我...

回答 3 投票 0

当数据库请求较大时如何优化页面加载时间(C# ASP.NET Core 6 MVC)

我正在做一个大项目。项目数据库包含大量要在页面上显示的数据。当我想要访问一个页面时,可能需要长达 15 秒的时间才能完全加载,这太慢了。 我...

回答 2 投票 0

无法将部分视图渲染到隐藏字段中

在我们之前的 .NET 4.8 项目中,我们能够将部分视图的输出呈现为文本,如下所示: @Html.Hidden("hdnContent", Html.Partial("~/Views/Shared/_content.cshtml",

回答 1 投票 0

ASP.NET Core MVC - 无法将部分视图渲染到隐藏字段中

在我们之前的 .NET 4.8 项目中,我们能够将部分视图的输出呈现为文本,如下所示: @Html.Hidden("hdnContent", Html.Partial("~/Views/Shared/_content.cshtml",

回答 1 投票 0

如何在控制器中获取数据库上下文

我一整天都在尝试找出默认 MVC 6 项目的 ManageController.cs 中的 ApplicationDbContext 。 我上网并谷歌搜索了很多,但似乎没有人遇到同样的问题......

回答 3 投票 0

我在 Azure 中发布 ASP.NET Core MVC Web 应用程序时面临问题

我在发布 ASP.NET Core 8 MVC 应用程序(VS 2022)时遇到问题。 我收到这个错误: System.AggregateException:项目系统数据流“工作区更新处理程序 12771809”由于异常而关闭...

回答 2 投票 0

在 ASP.NET Core MVC 中是否可以制作包含复选框列表的下拉列表?

我正在为 C# 课程开发一个 scrum 项目,我需要为文章列表制作一个过滤器表单,这样人们就可以选择尽可能多或尽可能少的类别来显示文章。我就是这样做的...

回答 2 投票 0

GetExternalLoginInfoAsync 返回 null dotnet core 2.0

我正在尝试使用 dot-net core 2.0 设置 Facebook 身份验证,但在我的ExternalLoginCallbackAsync 方法中,我总是得到 null 作为响应,我已遵循文档,到目前为止...

回答 3 投票 0

ASP.NET Core 7 MVC:如何将 IEnumerable 模型提交到控制器?

我有一个从 IEnumerable 模型填充的简单网格,但无法将其传递给控制器: @模型IEnumerable 我有一个从 IEnumerable 模型填充的简单网格,但无法将其传递给控制器: @model IEnumerable<SkupinaKlientiVykazyModel> <form method="post" asp-action="VykazSkupinaCreateMiddle2" id="KlientiSkupinyForm" asp-controller="Work"> <div class="row pt-4"> <div class="col-10"> <h2 class="text-primary">Zápis výkazu pro kliety skupiny: @skupinaText </h2> </div> <div class="col-2 text-end"> </div> </div> <br /> <br /> <table class="table table-hover" style="width:100%"> <thead> <tr class="table-info"> <th scope="col"> Klient </th> <th scope="col"> Přítomen </th> </tr> </thead> <tbody> @{ int i = 0; foreach (var obj in Model) { <input name="SkupinaKlientiVykazyModel[@i].Klient" value="@obj.Klient" hidden /> <input name="SkupinaKlientiVykazyModel[@i].Id" value="@obj.Id" hidden /> <input name="SkupinaKlientiVykazyModel[@i].Skupina" value="@obj.Skupina" hidden /> <input name="SkupinaKlientiVykazyModel[@i].UserId" value="@obj.UserId" hidden /> <input name="SkupinaKlientiVykazyModel[@i].KlientName" value="@obj.KlientName" hidden /> <tr class="@(i%2==0?"table-primary":"table-secondary")"> <td> @obj.KlientName </td> <td> <input type="checkbox" name="SkupinaKlientiVykazyModel[@i].Pritomen" checked="@obj.Pritomen" value="@obj.Pritomen" /> </td> </tr> i++; } } </tbody> </table> <div class="row mb-3"> <div class="col-md-4"> <a asp-controller="Work" asp-action="AktivniKlienti" class="btn btn-secondary" style="width:250px">Zpět na seznam klientu</a> </div> <div class="col-md-8 text-end"> <button type="submit" class="btn btn-primary" style="width:250px"><i class="breadcrumb-item bi-pencil-square"></i> Založ výkazy</button> </div> </div> </form> Razor 视图页面填充得很好。 <tbody> <input name="SkupinaKlientiVykazyModel[0].Klient" value="3026" hidden /> <input name="SkupinaKlientiVykazyModel[0].Id" value="6615" hidden /> <input name="SkupinaKlientiVykazyModel[0].Skupina" value="121" hidden /> <input name="SkupinaKlientiVykazyModel[0].UserId" value="18b4adfd-7b08-4390-a23e-06a338842c77" hidden /> <input name="SkupinaKlientiVykazyModel[0].KlientName" value="Mia14Nia77 Milena Hus&#xE1;rkov&#xE1;" hidden /> <tr class="table-primary"> <td> Mia14Nia77 Milena Hus&#xE1;rkov&#xE1; </td> <td> <input type="checkbox" name="SkupinaKlientiVykazyModel[0].Pritomen" checked="checked" value="value" /> </td> </tbody> 但是提交模型后,在控制器中,始终是空的。 这是我的控制器: [HttpPost] public IActionResult VykazSkupinaCreateMiddle2(IEnumerable<SkupinaKlientiVykazyModel> klienti) { string? userId = _userManager.GetUserId(User); int id = klienti.First().Skupina; // etc ... } 型号 public class SkupinaKlientiVykazyModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [DisplayName("Skupina")] public int Skupina { get; set; } [DisplayName("Uživatel")] public string UserId { get; set; } [DisplayName("Klient id")] public int Klient { get; set; } [DisplayName("Přítomen")] public bool Pritomen { get; set; } [DisplayName("Klient")] public string KlientName { get; set; } } 请你告诉我,这怎么可能? 谢谢 这篇文章毫无意义,因为我无法通过以下方式发布这篇文章:看起来你的帖子主要是代码;请添加更多详细信息。 但我认为其中包含了所有必要的细节...... 因为在 public IActionResult VykazSkupinaCreateMiddle2(IEnumerable<SkupinaKlientiVykazyModel> klienti) action方法的参数命名为klienti,需要在视图代码中使用相同的名称。在这种情况下,MVC 绑定将正常工作。 foreach (var obj in Model) { <input name="klienti[@i].Klient" value="@obj.Klient" hidden /> <input name="klienti[@i].Id" value="@obj.Id" hidden /> <input name="klienti[@i].Skupina" value="@obj.Skupina" hidden /> <input name="klienti[@i].UserId" value="@obj.UserId" hidden /> <input name="klienti[@i].KlientName" value="@obj.KlientName" hidden /> <tr class="@(i%2==0?"table-primary":"table-secondary")"> <td> @obj.KlientName </td> <td> <input type="checkbox" name="klienti[@i].Pritomen" checked="@obj.Pritomen" value="@obj.Pritomen" /> </td> </tr> i++; }

回答 1 投票 0

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