我已经看到了这个帖子:Changing the size of Html.TextBoxMVC3剃刀Html.TextBoxFor:我可以使它像TextAreaFor多线?
但因为它没有一个属性为我设定一个动态的默认值(我在做,我要动态地填写在编辑页面,我不能改变Html.TextAreaFor()
然后可以修改当前数据的字段)。即使我在我的viewmodel中更改为[DataType(DataType.MultilineText)]
(但它似乎更改为textboxfor,并且我的默认值不显示),我似乎也无法让EditorFor工作。
我的编辑视图需要一个包含两个模型的视图模型,一个空的窗体(OfferForm
)用屏幕字段填充,offer
模型包含当前数据。我想为OfferForm
设置文本字段,并动态填充offer
模型数据的内容。
这里是我的html:
<div class="InLine">
<div class="InLine editor-label-container">
<div class="editor-label">
@Html.LabelFor(model => model.OfferForm.Description)
</div>
</div>
<div class="InLine editor-field-container">
<div class="editor-field">
@Html.TextBoxFor(model => model.OfferForm.Description, new { @Value = @Html.DisplayFor(model => model.Offer.Description)})
@Html.ValidationMessageFor(model => model.Offer.Description)
</div>
</div>
</div>
<div class="InLine">
<div class="InLine editor-label-container">
<div class="editor-label">
@Html.LabelFor(model => model.OfferForm.SMSText)
</div>
</div>
<div class="InLine editor-field-container">
<div class="editor-field">
@Html.TextBoxFor(model => model.OfferForm.SMSText, new { @Value = @Html.DisplayFor(model => model.Offer.SmsText)})
@Html.ValidationMessageFor(model => model.Offer.SmsText)
</div>
</div>
</div>
有没有办法设置在Html.TextBoxFor()
一个 “multiline
” 属性?
你为什么想要设置'value'属性。在文本区域中,'value'是html元素中包含的内容。至于你的例子,你不需要为'TextBoxFor'或'TextAreaFor'设置value属性,就像你使用'Html。*'助手一样,它会自动填充值。 – Buildstarted
@BuildStarted - 我需要设置'Value'的原因是因为该值不是从我使用'TextBoxFor'或'TextAreaFor'的模型(即空白OfferForm)填充的。相反,它是从ViewModel中的第二个模型(即Offer)填充的。 –
啊,我明白了。非常微妙的命名差异。 – Buildstarted