ASP.NET Core MVC是一个轻量级的表示框架,用于使用ASP.NET Core创建动态网站。它允许创建基于控制器的MVC站点,或查看基于模型的Razor页面。 MVC包括路由,模型绑定和验证,过滤器,Web API和Razor视图引擎等功能。
ASP.NET Core 8.0 MVC:如果 ModelState 无效且表单重新加载,临时存储照片的最佳位置在哪里?
我开始开发 ASP.NET Core 8.0 MVC 项目。我有一个表单,用户最多可以上传 10 张照片/文件。 如果
MVC - ASP.NET Core 8.0 - 如果 ModelState 无效并且表单重新加载,临时存储照片的最佳位置在哪里?
我开始在 ASP.NET Core 8.0 上开发 MVC 项目。我有一个表单,用户最多可以上传 10 张照片/文件/。 如果
Page 存在绑定模型问题,以及 OnPost 方法中的一些奇怪行为
Pref:我在 ASP.NET Core 中经历了一些非常奇怪的行为。我启动了一个 MVC 项目,但我还在项目中包含了一些 Razor 页面。 当我尝试绑定模型并单击“...
我正在使用 ASP.NET Core MVC 创建一个软件,我有两个模型,分别命名为项目和供应商。每个在数据库中都有一个单独的表。 在项目的创建形式中,我想要一个
我正在尝试将我的 C# 项目从带有 EF 的 ASP.NET 迁移到 ASP.NET Core MVC 和 EF Core。我是自学成才的,我是唯一从事这个项目的人,所以我的项目架构和标准......
c# asp.net core MVC EF core存储/计算属性查询数据库
我正在尝试将我的项目 MVC 从带有 EF 的 c# asp.net 迁移到 asp.net core 和 EF core。我是自学成才的,我是唯一从事这个项目的人,所以我的项目架构和标准......
ASP.NET Core Identity:在不同应用程序中生成和确认电子邮件时出现“无效令牌”
我正在开发一个使用 ASP.NET Core Identity 的项目,该项目涉及两个独立的应用程序:一个 API 和一个 MVC 应用程序。 我的场景如下:我使用 UserMan 生成电子邮件确认令牌...
收到 20001 错误:尝试从 Twilio WhatsApp 对话 API 下载媒体时消息 SID 无效
我正在我的 ASP.NET Core 8 应用程序中将 Twilio WhatsApp 与 Twilio Conversation API 集成。我能够检索消息和媒体详细信息,但是当我尝试使用生成器下载媒体时...
ASP.NET Core 在控制器构造函数中访问 User.Identity
我有一个场景,我需要访问构造函数控制器中的 User.Identity Claims。 我需要这个,因为声明包含我启动自定义数据库上下文所需的信息(连接...
我正在处理 .net core Web 应用程序代码挑战,但收到以下错误: 处理请求时发生未处理的异常。 SocketException:无法建立连接
ASP.NET Core 5 MVC 应用程序使用 https://github.com/adoconnection/RazorEngineCore 中的 razor 引擎在运行时将视图呈现为字符串。 如何获取视图 ~/Views/Checkout/Order.cshtml 内容
从 .NET 8 升级到 .NET 9 后,电子邮件确认不起作用
用户注册时我有这样的代码: var代码=等待_userManager.GenerateEmailConfirmationTokenAsync(用户); var callbackUrl = Url.Action("confirmemail", "home", new { ...
通过 ASP.NET Core MVC 应用程序中的注册表正确保存电子邮件字段
我有一个小电影应用程序,它允许用户注册并登录并添加电影条目并为电影条目添加评论。但是在注册表上,电子邮件字段发送不正确...
如何创建一个单独的登录和注册完整页面,无需页眉、页脚部分,直到在 ASP.NET Core 中进行身份验证
作为初学者,我想用ASP.NET Core MVC制作一个POS软件。我想要一个制作登录、注册完整页面的指南,该页面将与页眉、页脚、侧边栏分开,直到...
任何人都可以帮助我使用此类别过滤器吗? 类别 ... 任何人都可以帮助我使用此类别过滤器吗? <div class="d-flex align-items-center"> <label for="category-select" class="me-2">Category</label> <select name="categoryFilter" class="form-select" id="category-select"> <option value="">All Categories</option> @foreach (var category in Model.Categories) { var isSelected = Model.CategoryFilter == category.Value ? "selected" : ""; <option value="@category.Value" selected="" @isSelected>@category.Text</option> } </select> </div> 我收到此错误: 错误(活动)RZ1031 标签助手“选项”在元素的属性声明区域中不得包含 C#。 C:\Users\zaida\Desktop\Clinic Management Software\ClinicManagementSystem\Views\ProductManagement\Index.cshtml 55 控制器: [HttpGet] public async Task<IActionResult> Index(string searchTerm, string categoryFilter, string sortBy, int page = 1) { var productsQuery = _context.Products .Include(p => p.Category) .Include(p => p.Inventory) .Where(p => p.DeletedAt == null); // Filtering if (!string.IsNullOrEmpty(searchTerm)) productsQuery = productsQuery.Where(p => p.Name.Contains(searchTerm) || p.SKU.Contains(searchTerm)); if (!string.IsNullOrEmpty(categoryFilter)) productsQuery = productsQuery.Where(p => p.Category.Name == categoryFilter); // Sorting productsQuery = sortBy switch { "price_asc" => productsQuery.OrderBy(p => p.Price), "price_desc" => productsQuery.OrderByDescending(p => p.Price), "name_asc" => productsQuery.OrderBy(p => p.Name), "name_desc" => productsQuery.OrderByDescending(p => p.Name), _ => productsQuery.OrderBy(p => p.CreatedAt) }; // Pagination var totalItems = await productsQuery.CountAsync(); var products = await productsQuery .Skip((page - 1) * PageSize) .Take(PageSize) .ToListAsync(); var categories = await _context.Product_Category .Select(c => new SelectListItem { Text = c.Name, Value = c.Name }) .ToListAsync(); var viewModel = new ProductIndexViewModel { Products = products, CurrentPage = page, TotalPages = (int)Math.Ceiling((double)totalItems / PageSize), SearchTerm = searchTerm, CategoryFilter = categoryFilter, SortBy = sortBy, Categories = categories }; return View(viewModel); } [HttpPost] public async Task<IActionResult> IndexPost(string searchTerm, string categoryFilter, string sortBy, int page = 1) { return await Index(searchTerm, categoryFilter, sortBy, page); } [HttpGet] public async Task<IActionResult> AddProduct() { ViewBag.Categories = await _context.Product_Category.ToListAsync(); ViewBag.Discounts = await _context.Product_Discount.ToListAsync(); return View(); } 我试过了 <option value="">All Categories</option> @foreach (var category in Model.Categories) { var isSelected = Model.CategoryFilter == category.Value ? "selected" : ""; <option value="@category.Value" selected="@isSelected" >@category.Text</option> } 但我必须进入搜索栏并按 Enter 才能使其工作 错误(活动)RZ1031 标签助手“选项”中不得包含 C# 元素的属性声明区域。 这个问题,你好像找到原因了(<option value="@category.Value" selected="" @isSelected>),问题涉及到selected属性,你需要把@isSelected放在""里面,修改后代码应该是这样的 <option value="@category.Value" selected="@isSelected">。 根据您的代码,似乎您想为 select 标签设置默认值,使用您的代码,您会发现它没有设置正确的默认值。如果使用F12开发者工具查看元素,可以看到每个选项都有selected属性,并且会选择最后一个选项作为默认值。 要解决这个问题,您可以修改代码如下:使用 asp-for 和 asp-item 绑定选择标签并设置默认值。 <select asp-for="CategoryFilter" name="categoryFilter" class="form-select" id="category-select" asp-items="Model.Categories"> <option value="">All Categories</option> </select> 输出如下: 但我必须进入搜索栏并按 Enter 才能使其工作 您的意思是要在更改所选选项后过滤数据吗?如果是这样,您可以使用 select 元素更改事件来提交表单。 尝试使用以下代码: Index.cshtml:在form标签中,我们可以使用method属性来指定表单如何提交(get或post),并使用asp-action属性来指定将提交到哪个action方法。 @model Net9MVCSample.Models.ProductIndexViewModel @{ ViewData["Title"] = "Home Page"; } <form id="myform" asp-action="Index" method="get"> <div class="d-flex align-items-center"> <label for="category-select" class="me-2">Category</label> <select asp-for="CategoryFilter" name="categoryFilter" class="form-select" id="category-select" onchange="Submitform()" asp-items="Model.Categories"> <option value="">All Categories</option> </select> </div> <div> Output: @ViewData["selectvalue"] </div> </form> @section Scripts { <script> function Submitform(){ document.getElementById("myform").submit(); } </script> } 家庭控制器: public class HomeController : Controller { private readonly ILogger<HomeController> _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } [HttpGet] public async Task<IActionResult> Index(string searchTerm, string categoryFilter, string sortBy, int page = 1) { var categories = new List<SelectListItem>() { new SelectListItem { Text = "C1", Value="101" }, new SelectListItem { Text = "C2", Value="102" }, new SelectListItem { Text = "C3", Value="103" }, new SelectListItem { Text = "C4", Value="104" }, new SelectListItem { Text = "C5", Value="105" }, }; categoryFilter = categoryFilter ?? "103"; var viewModel = new ProductIndexViewModel { CategoryFilter = categoryFilter, Categories = categories }; ViewData["selectvalue"] = categoryFilter; return View(viewModel); } 型号: public class ProductIndexViewModel { public string CategoryFilter { get; set; } public List<SelectListItem> Categories { get; set; } } 更多详细信息,请参阅 ASP.NET Core 中表单中的标记帮助程序。 结果如下:更改所选选项后,会将表单提交给 Index action 方法,然后将过滤后的数据返回到页面。
我有一个谷歌地图,在开头加载了标记和路线。 (.NET 5 中的 MVC) 标记的位置每隔几秒改变一次(它保存在服务器上,数据来自m...
带有 ASP.NET Core MVC 应用程序的 Keycloak,声明从不包含角色
我有一个 keycloak 服务器部署到生产中,我正在尝试让角色在我的 ASP.NET Core MVC 应用程序中正常工作。来自 keycloak 的令牌正在返回角色。我可以重定向...
ASP.NET Core HttpContext.Session.Clear() 在部署到 IIS 时未正确清除会话
语言:ASP.NET Core MVC 中的 C# 和 HTML Razor 背景/问题;当在 Visual Studio 中调用 HttpContext.Session.Cle 进行调试时,我使用 HttpContext.Session 存储特定于用户的信息...
c# [FromForm] List<IFormFile> 始终导致 null
我想测试用 C# (.NET 8.0) 编写的 REST API 端点。 端点 /import 应从 TestFiles 文件夹中获取多个文件: 使用 Microsoft.AspNetCore.Mvc; var builder = WebApplication.
ASP.NET Core 8 MVC 和 EF Core 导航属性
我正在尝试使用导航属性在我的控制器操作中添加相关字段,然后将数据返回到我的视图。 我认为这会像下面的图片一样简单,因为我不rec...