ASP-用于="属性"和@ Model.Property值对于同一个对象

时间:2017-08-17 23:17:25

标签: c# razor asp.net-core-mvc

我有一个cshtml文件,其部分类似于以下代码:

  <div id="entries" class="records-table">
      @if (Model.Entries != null)
      {
          foreach (var entry in Model.Entries)
          {
              @Html.Partia("../Partials/_PartialEntry", entry)
          }
      }
  </div>

在我的_PartialEntry文件中,我的代码类似如下:

<input asp-for="SomeModelValue" />
<div class="@(Model.SomeModelValue == "Special":"hidden":string.Empty)">...</div>

我遇到的问题是对于给定条目,asp-for="SomeModelValue"@Model.SomeModelValue之间的SomeModelValue属性不同。 @Model.SomeModelValue始终返回上一个条目的SomeModelValue。我将尝试在下面提供一个示例。

让我说我Model.Entries有以下值:

[{SomeModelValue = "Special", ....}, 
 {SomeModelValue = "SomeOtherValue", ....} 
 {SomeModelValue = "Special", ....},
 {SomeModelValue = "SomeValue", ....},
 {SomeModelValue = "Special", ....}]

注意:只是使用懒惰它是C#SomeModelValue是字符串属性的对象列表。

我正在编辑_ParialEntry代码:

<input asp-for="SomeModelValue" />
<div>@Model.SomeModelValue</div>
<div class="@(Model.SomeModelValue == "Special":"hidden":string.Empty)">...</div>

生成的html类似于:

<div id="entries" class="records-table">
    ...
    <input value="Special" />
    <div>{Special}</div>
    <div {class="hidden"}>...</div>
    ...
    <input value="SomeOtherValue" />
    <div>Special{SomeOtherValue}</div>
    <div class="hidden"{} >...</div>
    ...
    <input value="Special" />
    <div>SomeOtherValue{Expecting:Special}</div>
    <div {lass="hidden"}>...</div>
    ...
    <input value="SomeValue" />
    <div>Special{SomeValue}</div>
    <div class="hidden"{}>...</div>
    ...
    <input value="Special" />
    <div>SomeValue{Special}</div>
    <div {class="hidden"}>...</div>
    ...
</div>

我放在{...}中的预期结果其他单词SomeValue {Special}表示我显示了SomeValue,但我希望看到Special。
我希望这可以让你知道我遇到了什么,我似乎不明白为什么会发生任何指针会有所帮助,谢谢你。

0 个答案:

没有答案