特定の変数が設定されている場合、特定のフィールドをテキストボックスにしたいのですが、そうでない場合は、そのフィールドに値を表示するだけですが、その値は編集できません。
if else ロジックをビューに入れましたが、値が表示されません。ここで何か不足していますか?
@{
if (isFlagSet) {
Html.TextBoxFor(m => m.HostpitalFinNumber, new { @Value = Model.HostpitalFinNumber });
Html.ValidationMessageFor(m => m.HostpitalFinNumber);
}
else {
Html.DisplayTextFor(m => m.HostpitalFinNumber);
}
}
アップデート...
コードを次のように変更しました
@if (isFlagSet) {
Html.TextBoxFor(m => m.HostpitalFinNumber);
Html.ValidationMessageFor(m => m.HostpitalFinNumber);
}
else {
Html.DisplayFor(m => m.HostpitalFinNumber);
}
以下は生成中のHTMLです。Phone の入力値が書き込まれているが、病院の fin は書き込まれていないことに注意してください。なぜそれが起こっているのかは確かです。
<tr><td>
<label for="Phone">Phone</label>
</td>
<td>
<input Value="4124880798" id="Phone" name="Phone" type="text" value="4124880798" />
</td></tr>
<tr><td>
<label for="HostpitalFinNumber">HostpitalFinNumber</label>
</td>
<td>
</td></tr>
答え
@ を HTML ヘルパーの前に置き、セミコロンを削除するのを忘れていました。