Nic*_*own 24 .net c# asp.net-mvc-3
我有一个非常简单的视图模型
public class TellAFriendViewModel
{
public string Email1 { get; set; }
public string Email2 { get; set; }
public string Email3 { get; set; }
public string Email4 { get; set; }
public string Email5 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我的视图上的相应输入,但我想知道是否有更好的方法(如循环)将类似的TextBoxs写入我的视图:
@using (Html.BeginForm()){
@Html.AntiForgeryToken()
@Html.TextBoxFor(vm => vm.Email1)
@Html.TextBoxFor(vm => vm.Email2)
@Html.TextBoxFor(vm => vm.Email3)
@Html.TextBoxFor(vm => vm.Email4)
@Html.TextBoxFor(vm => vm.Email5)
}
Run Code Online (Sandbox Code Playgroud)
Hac*_*ese 37
你应该访问
ViewData.ModelMetadata.Properties
.没有理由加倍反射工作,加上它为您计算出DataAttributes元数据.
@foreach(var property in ViewData.ModelMetadata.Properties)
{
<div class="editor-line">
<label>@(property.DisplayName??property.PropertyName)</label>
@Html.Editor(property.PropertyName)
</div>
}
Run Code Online (Sandbox Code Playgroud)
Xav*_*nas 11
你应该考虑使用一个数组.
但是,如果你想使用反射,它看起来像这样:
@foreach (var prop in Model.GetType().GetProperties())
{
@(Html.TextBox(prop.Name, prop.GetValue(Model, null)))
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29387 次 |
最近记录: |