如何在 ASP.NET Core 3.1 中逐行迭代列表

     2023-04-12     25

关键词:

【中文标题】如何在 ASP.NET Core 3.1 中逐行迭代列表【英文标题】:How to iterate a list row by row in ASP.NET Core 3.1 【发布时间】:2021-03-02 08:48:25 【问题描述】:

我有一个list<>,我需要将列表的每一行传递给一个存储过程。

我目前有一个 for each 循环来计算循环中的行数并迭代那么多次。但它每次只迭代第一行。相反,我想每次都去下一行。

我正在使用 ASP.NET Core Razor 页面构建一个 Web 应用程序,我不想使用 MVC 架构,因为我觉得它对我来说太复杂了。我不是来自 .NET 背景。请帮忙。

[BindProperty]
public OrderProduct OrderProduct  get; set; 
public async Task<IActionResult> OnPostSaveOrder()

    if (!ModelState.IsValid)
    
        return Page();
    
    cart = SessionHelper.GetObjectFromJson<List<OrderProduct>>(HttpContext.Session, "ProductCart");
    for (var i = 0; i < cart.Count; i++)
    
        objProduct.AddProductsToOrder(OrderProduct);
    
    await _context.SaveChangesAsync();
    HttpContext.Session.Clear();
    return RedirectToPage("./Index");

【问题讨论】:

objProduct.AddProductsToOrder(OrderProduct); => objProduct.AddProductsToOrder(cart[i]); 然后&lt; cart.Count => &lt;= cart.Count 老实说,一个简单的foreach 会更好,反正你不需要那个增量。比如:foreach (OrderProduct prod in cart) objProduct.AddProductsToOrder(prod); @Codexer 你是个传奇人物。惊人的。我喜欢你。自 3 天以来,我一直在努力实现这一目标。这是我在 4 个月前因 Covid 而失业后正在从事的个人项目。你绝对让我开心。继续努力。 没问题,很高兴为您提供帮助。 仅供参考:由于@Codexer 没有将此作为答案提交,因此我已代表他们提交。这将允许 Sai 接受此答案,并将问题标记为已回答。由于答案不是我的贡献,因此我已将其作为社区 wiki 提交。 【参考方案1】:

根据@Codexer 在 cmets 中的回答,这可以通过将循环更改为以下内容来实现:

for (var i = 0; i <= cart.Count; i++)

    objProduct.AddProductsToOrder(cart[i]);

值得注意的是,这种变化:

&lt; cart.Count&lt;= cart.Count objProduct.AddProductsToOrder(OrderProduct)objProduct.AddProductsToOrder(cart[i])

也就是说,一个简单的foreach 会更好,因为您不需要增量器。这看起来像:

foreach (var product in cart) 
 
    objProduct.AddProductsToOrder(product); 
 

【讨论】:

谢谢你,老实说,我不认为它值得回答,为什么我没有发布一个(也许是因为我在移动设备上)。你在需要的地方给予了赞扬,我为此感谢你。

如何在 ASP.NET Core 3.1 中使用 Java?

】如何在ASP.NETCore3.1中使用Java?【英文标题】:HowtouseJavainASP.NETCore3.1?【发布时间】:2022-01-0917:41:56【问题描述】:我正在使用ASP.NET构建一个RESTAPI,理想情况下它应该能够使用Java代码。我已经设法在一个简单的控制台应用程序... 查看详情

如何在 ASP.NET Core 3.1 生产中配置 IdentityServer

】如何在ASP.NETCore3.1生产中配置IdentityServer【英文标题】:HowtoconfigureIdentityServerinASP.NETCore3.1production【发布时间】:2021-10-2711:31:05【问题描述】:我正在尝试运行ASP.NETCore3.1应用程序,该应用程序在开发中运行良好,但在生产环境... 查看详情

如何在 ASP.NET Core 3.1 中启用多重身份验证?

】如何在ASP.NETCore3.1中启用多重身份验证?【英文标题】:HowtoenablemultipleauthenticationinASP.NETCore3.1?【发布时间】:2020-08-3101:32:49【问题描述】:在我的aspnetcore3.1项目中,我使用jwt进行身份验证。问题是我也在使用azure客户端来获... 查看详情

如何在 ASP.NET CORE 3.1 中获取客户端 IP 地址?

】如何在ASP.NETCORE3.1中获取客户端IP地址?【英文标题】:HowdoIgetclientIPaddressinASP.NETCORE3.1?【发布时间】:2020-04-2921:06:39【问题描述】:在WebAPI项目中编写代码时如何在ASP.NET3.1中获取客户端IP地址【问题讨论】:这能回答你的问题... 查看详情

如何在 asp.net core 3.1 中将 Json.NET 设置为默认序列化程序

】如何在asp.netcore3.1中将Json.NET设置为默认序列化程序【英文标题】:HowdoIsetJson.NETasdefaultserializerinasp.netcore3.1【发布时间】:2020-04-0102:37:44【问题描述】:将ASP.NET核心2.1Web应用程序转换为3.1并发现一些端点损坏,因为新的Json序... 查看详情

登录 ASP.NET Core 3.1 后如何获取用户信息

】登录ASP.NETCore3.1后如何获取用户信息【英文标题】:HowtogetUserInformationafterlogininASP.NETCore3.1【发布时间】:2021-10-1908:46:54【问题描述】:我正在尝试在登录ASP.NETCore3.1后获取用户信息(姓名、电子邮件、ID等信息...)。这是我在... 查看详情

ASP.NET Core 3.1 MVC 如何让用户在注册时选择自己的角色?

】ASP.NETCore3.1MVC如何让用户在注册时选择自己的角色?【英文标题】:ASP.NETCore3.1MVCHowtoallowtheusertoselecthisrolewhenregistering?【发布时间】:2020-07-0406:41:38【问题描述】:我正在创建一个ASP.NETCore3.1应用程序。我添加了“买家”和“卖... 查看详情

如何在我的 asp.net core 3.1 应用程序中播种用户和角色?

】如何在我的asp.netcore3.1应用程序中播种用户和角色?【英文标题】:HowcanIseedusersandrolesinmyasp.netcore3.1application?【发布时间】:2020-04-0109:17:30【问题描述】:我尝试在我的IdentityDataContext类中使用protectedoverridevoidOnModelCreating(ModelBui... 查看详情

如何在 Asp.net Core 3.1 中使用 Ajax 刷新或重新加载 ViewComponent?

】如何在Asp.netCore3.1中使用Ajax刷新或重新加载ViewComponent?【英文标题】:HowtorefreshorreloadaViewComponentwithAjaxinAsp.netCore3.1?【发布时间】:2021-10-2702:12:33【问题描述】:我希望FavoriteComponent在单击“a”标签时刷新?HTML:<divid="favari... 查看详情

如何在 asp.net core 3.1 中为每种类型的请求启用 Cors

】如何在asp.netcore3.1中为每种类型的请求启用Cors【英文标题】:HowtoenableCorsforeverytypeofrequestinasp.netcore3.1【发布时间】:2020-06-2310:31:08【问题描述】:?我正在关注MSDocs,但它们似乎不起作用。注意:我能够为特定域实现cors,但... 查看详情

如何使用 Visual Studio 2019 在 Docker 容器中运行 ASP.NET Core 3.1 项目?

】如何使用VisualStudio2019在Docker容器中运行ASP.NETCore3.1项目?【英文标题】:HowtorunanASP.NETCore3.1projectinaDockercontainerwithVisualStudio2019?【发布时间】:2020-04-2114:35:36【问题描述】:我创建了一个基于ASP.NETCore3.1框架的WebAPI项目。后来,... 查看详情

如何使用 C# 在 ASP.NET Core 3.1 MVC 中使用会话变量

】如何使用C#在ASP.NETCore3.1MVC中使用会话变量【英文标题】:HowtousesessionvariablesinASP.NETCore3.1MVCusingC#【发布时间】:2021-09-2605:01:19【问题描述】:我在处理会话对象时遇到了问题。设置和进入同一个控制器可以正常工作,我的麻烦... 查看详情

如何在 ASP.NET Core 3.1 的另一个应用程序中包含用户管理器

】如何在ASP.NETCore3.1的另一个应用程序中包含用户管理器【英文标题】:HowtoincludeausermanagertoanotherapplicationforASP.NETCore3.1【发布时间】:2020-07-2000:07:25【问题描述】:我正在开发两个不同的应用程序,我将它们命名为A和B。A是一个... 查看详情

ASP.NET Core 3.1 - 如何获取客户端的 IP 地址?

】ASP.NETCore3.1-如何获取客户端的IP地址?【英文标题】:ASP.NETCore3.1-HowdoIgetaclient\'sIPAddress?【发布时间】:2020-05-1609:44:32【问题描述】:我有一个Razor页面Web应用程序并正在记录用户的IP地址。出于某种原因,它返回的是IP地址,... 查看详情

Asp.net Core 3.1-如何从控制器返回到 Razor 页面?

】Asp.netCore3.1-如何从控制器返回到Razor页面?【英文标题】:Asp.netCore3.1-HowcanIreturnfromControllertoRazorPage?【发布时间】:2021-06-2605:07:27【问题描述】:我想当用户登录网站时,在剃须刀页面中转到我想要的地址...if(rolename=="User")retur... 查看详情

在 cookie 中存储 JWT 令牌后,如何在 ASP.NET Core 3.1 中破坏该 cookie 并获取信息

】在cookie中存储JWT令牌后,如何在ASP.NETCore3.1中破坏该cookie并获取信息【英文标题】:AfterstoreJWTtokenincookiehowtobreakthatcookieandgetinformationinASP.NETCore3.1【发布时间】:2021-02-2011:28:32【问题描述】:在我的ASP.NETCore3.1MVC应用程序中,我... 查看详情

如何正确解析要在 ASP.NET Core 3.1 的 ConfigureServices() 中使用的服务?

】如何正确解析要在ASP.NETCore3.1的ConfigureServices()中使用的服务?【英文标题】:HowtocorrectlyresolveservicestouseintheConfigureServices()inASP.NETCore3.1?【发布时间】:2020-02-0522:24:35【问题描述】:我有一个基于ASP.NETCore3.1的应用程序。在应用... 查看详情

如何在 Julia 中逐行读取文件?

】如何在Julia中逐行读取文件?【英文标题】:HowtoreadafilelinebylineinJulia?【发布时间】:2020-01-2920:32:14【问题描述】:如何打开文本文件并逐行读取?我对两种不同的情况感兴趣:一次获取数组中的所有行。一次处理每一行。对... 查看详情