我正在尝试显示List< string>在我的
HTML中使用循环.我得到以下输出:
System.Collections.Generic.List`1[System.String]
我以前见过这个,但不是我目前编码的方式:
我尝试了2个循环来显示List< string>中的值.但是他们都返回了相同的上述结果:
HTML
@{
Layout = "~/Administration/Views/Shared/_AdminLayout.cshtml";
}
@using Telerik.Web.Mvc.UI
@using Nop.Plugin.Misc.ExportAttributes.Models;
@model ImportCalculationSheetModel
@using Nop.Web.Framework;
@using (Html.BeginForm())
{
@for (int i = 0; i < Model.FailedProductIdsList.Count; i++)
{
@Convert.ToString(Model.FailedProductIdsList[i])}
}
对于循环:
@for (int i = 0; i < Model.FailedProductIdsList.Count; i++)
{
@Convert.ToString(Model.FailedProductIdsList[i])}
Foreach循环:
@foreach(var productId in Model.FailedProductIdsList)
{
@Convert.ToString(productId);}
调试时,我看到List< string>:“99999”中只插入了一个值
所以它甚至不需要转换为字符串,但我确实这样做,因为在不转换时结果是相同的.
我正在使用的模型:使用@model ImportCalculationSheetModel在View中引用ImportCalculationSheetModel
模型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nop.Web.Framework;
using Nop.Web.Framework.Mvc;
namespace Nop.Plugin.Misc.ExportAttributes.Models
{
public class ImportCalculationSheetModel : BaseNopModel
{
public List FailedProductIdsList { get; set; }
}
}
所以我的模型只填充了1个List< string>,列表在我的Controller中填充.
调节器
[HttpGet]
public ActionResult ImportCalculationSheetSucceededWithFailures(ImportCalculationSheetModel model)
{
return View("Nop.Plugin.Misc.ExportAttributes.Views.MiscExportAttributes.ImportCalculationSheetSucceededWithFailures", model);
}
[HttpPost]
public ActionResult ImportCalculationSheet(ImportCalculationSheetModel model)
{
if (ModelState.IsValid)
{
ImportFromCalculationSheet _importFromCalculationSheet = new ImportFromCalculationSheet();
var file = Request.Files["importexcelfile"];
if (file != null && file.ContentLength > 0)
{
_importFromCalculationSheet.ImportProductsFromXlsx(file.InputStream);
model.FailedProductIdsList = _importFromCalculationSheet.FailedToUpdateIds;
}
else
{
return RedirectToAction("ImportCalculationSheet", model);
}
if (model.FailedProductIdsList.Count > 0)
{
return RedirectToAction("ImportCalculationSheetSucceededWithFailures", model);
}
else
{
return RedirectToAction("ImportCalculationSheetSucceeded", model);
}
}
else
{
return RedirectToAction("ImportCalculationSheet", model);
}
}
FailedProductIdsList在以下行填充:
model.FailedProductIdsList = _importFromCalculationSheet.FailedToUpdateIds;
调试时我可以看到它没有失败.
题
为什么for循环和foreach循环返回:
System.Collections.Generic.List`1[System.String]
当我只在List< string>中抓取一个项目时一次甚至将其转换为字符串?有没有办法在视图中更好地调试此问题?(视图中的断点未被命中)