这应该是真的很简单,但我不知道为什么会这样?我有一块我的ViewModel:
public string ErrorMessage { get; set; }
我有使用此模型字段的TextBoxFor。为什么不显示文本框?目前还没有任何价值,但为什么不显示用户输入的文本框?我得到了标签。
<div class="row">
@Html.LabelFor(m => m.ErrorMessage)
@Html.TextBoxFor(m => m.ErrorMessage)
</div>
控制器是:
public ActionResult OptIn()
{
PrefCenterEntities db = new PrefCenterEntities();
List<SelectListItem> listSelectListItems = new List<SelectListItem>();
List<SelectListItem> listSelItems = new List<SelectListItem>();
foreach (var attributes in db.HarmonyAttributes)
{
SelectListItem selectList = new SelectListItem
{
Text = attributes.AttributeName,
Value = attributes.ID.ToString(),
Selected = false
};
listSelectListItems.Add(selectList);
}
foreach (var sel in db.SelectedHarmonyAttributes)
{
SelectListItem selList = new SelectListItem
{
Text = sel.CustomLabel,
Value = sel.HarmonyAttribute_ID.ToString(),
Selected = false
};
listSelectListItems.Add(selList);
}
OptInViewModel viewModel = new OptInViewModel
{
Attributes = listSelectListItems,
SelectedItems = listSelItems
};
return View(viewModel);
}
错误消息的生成代码就在那里!
<div class="row">
<label for="ErrorMessage">Error Message:</label>
<input id="ErrorMessage" name="ErrorMessage" type="text" value="" />
</div>
这不适用于我之前应用于TextAreaFor的CSS规则,以便让它显示出来吗?
<p>Item Caption Text (140 Characters. HTML not allowed.)</p>
@Html.TextAreaFor(model => model.ItemCaptionText,10, 60, new { style="border-color: grey!important; border-width: 2px!important; border-style: solid;"})
答案 0 :(得分:0)
就像评论一样,尝试取出父<div>
,如下:
@Html.LabelFor(m => m.ErrorMessage)
@Html.TextBoxFor(m => m.ErrorMessage)
标签是否出现?如果这不起作用,你可以尝试这样的事情:
@Html.LabelFor(m => m.ErrorMessage)
@Html.TextBoxFor(m => m.ErrorMessage, new { style = "position:absolute;z-index:10000;width:300px;height:25px;" } )
只是覆盖可能隐藏文本框的任何样式