【问题标题】: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返回方法还是需要在视图页面中更改?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4


    【解决方案1】:

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

    @model IEnumerable<models.FirmModel>
    

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

    或者:

    @model IList<models.FirmModel>
    

    IList 接口继承了IEnumerable

    相应地:

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

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2023-03-30
      相关资源
      最近更新 更多