在单个视图中创建表单以及显示数据

Posted

技术标签:

【中文标题】在单个视图中创建表单以及显示数据【英文标题】:inside single view create form as well as display data 【发布时间】:2021-12-24 14:16:59 【问题描述】:

我正在创建一个需要显示数据的视图页面以及一个用于插入数据的表单。要插入数据,我有引导模式。如何绑定我的视图页面,以便我可以在页面中显示数据以及创建表单来插入数据。我的意思是如何将我的视图绑定到显示数据?

public ActionResult GetFirm()
        
            return View(db.FirmModels.ToList());
        

    

我的浏览页面

@model models.FirmModel

// code for bootstrap modal
// code for data table
<table id="tblFirmData">
    <thead>
        <tr>
            <th>Edit/Print</th>
            <th style="visibility:hidden;">@html.DisplayNameFor(model => model.FirmId)</th>
            <th>NAME</th>
            <th>CONTACT</th>
        </tr>
        </thead>
        <tbody>
        @foreach(var item in models)
        
            int status = item.FirmRegistrationStatus;
        
    </tbody>
</table>

当我执行foreach(var item in models) 得到错误'models' is a namespace but is used like a variable 并且当我执行@foreach(var item in Model) 时,我得到错误foreach statement cannot operate on variables of type 'FirmModel' because 'FirmModel' does not contain a public instance definition for 'GetEnumerator'

如何解决这个问题,我需要修改我的GetFirm返回方法还是需要在视图页面中更改?

【问题讨论】:

【参考方案1】:

由于您将列表传递给视图,因此您将视图模型定义为:

@model IEnumerable<models.FirmModel>

IEnumerable 接口正在实现用于遍历集合的GetEnumerator() 方法。

或者:

@model IList<models.FirmModel>

IList 接口继承了IEnumerable

相应地:

@foreach(var item in Model)
    
    ....

【讨论】:

以上是关于在单个视图中创建表单以及显示数据的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 从视图中的表单填充数据库表并将其显示在同一视图中

MS Access:在设计指南视图中创建链接表不显示要链接的表?

在 C# 中为表单创建保存按钮

oracle创建视图以及如何创建表

Oracle(创建视图)

创建 2 个对象,然后使用单个表单在两者之间创建关系