在 View .NET CORE MVC 中动态显示组件和数据

Posted

技术标签:

【中文标题】在 View .NET CORE MVC 中动态显示组件和数据【英文标题】:Dynamically display components and data in View .NET CORE MVC 【发布时间】:2021-10-12 17:47:36 【问题描述】:

我有一个我希望能够在视图中显示的对象数组。 对于每个对象,我还希望能够创建一个保存数据的容器,但是我不确定如何将 htmljavascript 链接。目前我有一个脚本,它读入对象数组,然后循环遍历每个对象 - script code。然而,在 for 循环的这一点上,我正在尝试添加一个 <div><p> 以便我可以在屏幕上呈现信息,但我得到了错误。

我尝试的另一种方法是尝试像这样在 html 中呈现信息:html render approach - 但是这样我也会遇到运行时错误run time error for approach 2。

我不确定如何在脚本中呈现 html 或如何在 html 中使用脚本中的数据。

【问题讨论】:

【参考方案1】:

这是一个工作演示:

型号:

public class Marker
    
        public string EventName  get; set; 

    

行动:

public IActionResult xxx()
        
            ViewBag.Markers = new List<Marker>  new Marker  EventName = "m1" , new Marker  EventName = "m2" , new Marker  EventName = "m3"  ;
            return View();
        

查看:

@foreach (var marker in ViewBag.Markers)

    <p>@marker.EventName</p>

结果:

【讨论】:

嗨,非常感谢。但是,只是想在您的操作中,是否可以动态添加标记?例如,目前您的固定数字为 3,但是否可以有一个 for 循环,并为它循环的每个项目时间添加一个新标记? View中的数据依赖ViewBag.Markers,如果要更新view中的数据,需要先更新ViewBag.Markers,再更新return View(),这样view才会刷新.例如ViewBag.Markers的计数为10,for循环将显示10&lt;p&gt;&lt;/p&gt;

以上是关于在 View .NET CORE MVC 中动态显示组件和数据的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core MVC 查看组件搜索路径

如何在 ASP.NET Core MVC 中使用 select 标签动态编辑数据库表?

如何在 ASP.NET Core MVC 中添加分页,在 AJAX 调用中动态创建的表上

七天学会ASP.NET MVC ——ASP.NET MVC 数据传递

.Net Core Localization View:IViewLocalizer inside Linq 表达式

七天学会ASP.NET MVC ——ASP.NET MVC 数据传递