加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

razor – ASP.NET mvc使用IEnumerable模型和输入标记帮助器查看

发布时间:2020-12-16 07:42:06 所属栏目:asp.Net 来源:网络整理
导读:在这个 official ASP.NET Core tutorial中,我可以使用如下所示的 Input Tag Helper.但由于 known model binding issue of form elements in a foreach loop,我想用循环代替.问题:如果我在下面的视图中用@for(int i = 0; i Model.Count(); i)替换@foreach(模
在这个 official ASP.NET Core tutorial中,我可以使用如下所示的 Input Tag Helper.但由于 known model binding issue of form elements in a foreach loop,我想用循环代替.问题:如果我在下面的视图中用@for(int i = 0; i< Model.Count(); i)替换@foreach(模型中的var项).什么是我的asp-for< input asp-for =“???” /> ?出于某种原因,智能感知不能识别,例如Model [i] .BlogId或@Model [i] .BlogId

@model IEnumerable<EFGetStarted.AspNetCore.NewDb.Models.Blog>

@{
    ViewBag.Title = "Blogs";
}

<h2>Blogs</h2>

<p>
    <a asp-controller="Blogs" asp-action="Create">Create New</a>
</p>

<table class="table">
    <tr>
        <th>Id</th>
        <th>Url</th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                <input asp-for="@item.BlogId" />
            </td>
            <td>
                <input asp-for="@item.Url" />
            </td>
        </tr>
    }
</table>

解决方法

@model IEnumerable<EFGetStarted.AspNetCore.NewDb.Models.Blog>

    @{
        ViewBag.Title = "Blogs";
    }

    <h2>Blogs</h2>

    <p>
        <a asp-controller="Blogs" asp-action="Create">Create New</a>
    </p>

    <table class="table">
        <tr>
            <th>Id</th>
            <th>Url</th>
        </tr>
    @for (int item = 0; item < Model.Count(); item++)
        {
           <tr>
              <td>
                <input name="@Model.ToList()[item].BlogId" />
              </td>
              <td>
                <input name="@Model.ToList()[item].Url" />
              </td>
          </tr>
       }
    </table>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读