微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Razor视图中使用列表-错误地循环

如何解决在Razor视图中使用列表-错误地循环

我一直在努力在Razor View页面中返回列表。我正在将数据传递到控制器,该控制器连接到我的服务以为我检索数据。这没有问题。

但是,当我将其传递到“剃刀视图”页面时,该对象存在问题。我最后做了一个foreach循环,但是某些对象属性不应视为列表。当我尝试使用“ @ Html.HiddenFor(m => m.State)”时,它不再起作用,结果输出只是页面上的一堆循环。这是我第一次在这里使用列表,希望有人可以提出一种方法,使我可以在需要的地方进行foreach循环,然后使用FirstOrDefault或对我所使用的属性具有某种意义的东西不想迭代,因为它们只是指标(例如isEmail = 1)。

[控制器]

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult GetFilters(MembershipVM model)
{                         
    var results = _service.GetFilters(model).ToArray().ToList();
    model.EmailCount = results.Count();

    if (model.EmailCount == 0)
    {
        TempData["ReturnType"] = "Failure";
        TempData["ReturnMessage"] = "No Members were found using the search criteria entered.";
        return RedirectToAction("Index",model);
    }
    else
    {
        return View("SendEmail",results); // passes list to Razor View
    }
}

[查看]

@using Otan.Models.Members
@using Otan.Web.Helpers
@model List<MembershipVM>

....
<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="bold panel-title">Filters Selected</h3>
    </div>
    <div class="panel-body">
        <ul>
            @if (Model.Zip.ToString() != 0)  @* I get an error here and with every other object in the model *@
            {
                @:<li>By proximity to ZIP Code: within <b>@Model.distance</b> miles of Zip Code <b>@Model.Zip</b></li>
            }
....
            @Html.HiddenFor(m => m.State)  @* this does not work either unless I include a foreach loop *@
....

TIA

-雏菊

解决方法

尝试使用此代码,您可以使用Html.HiddenFor而不将其包含在for-each循环中

@Html.HiddenFor(m=> Model.FirstOrDefault().State)

对于if statement,您可以像这样使用它

@if(Model.FirstOrDefault().Zip != 0)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。