Asp.net mvc 3 如何将默认值动态传递给textbox?

Asp.net mvc 3 如何将默认值动态传递给textbox?,asp.net-mvc-3,Asp.net Mvc 3,mvc3 razor-我的web应用程序中有一个以下型号: public class mymodel{ [Display(Name = "name")] public string Name { get; set; } } 当我们使用 @Html.LabelFor(m => m.Name) 它使用显示“名称”,例如,我们文本框的上方显示用户该字段用于输入您的姓名 如何在文本框值中使用显示名称? 我测试了它,但值为空,我想从[Display(Name=“Name”)

mvc3 razor-我的web应用程序中有一个以下型号:

public class mymodel{

    [Display(Name = "name")]
    public string Name { get; set; }
}
当我们使用

 @Html.LabelFor(m => m.Name) 
它使用显示“名称”,例如,我们文本框的上方显示用户该字段用于输入您的姓名

如何在文本框值中使用显示名称? 我测试了它,但值为空,我想从[Display(Name=“Name”)]获取模型的值

编辑:如果需要重新显示表单并保留用户输入的值,则可能需要使用Darin的方法,或执行类似操作:

@Html.TextBoxFor(m => m.Name, new { Value = (string.IsNullOrWhiteSpace(Model.Name) ? Html.DisplayNameFor(x => x.Name).ToHtmlString() : Model.Name) })

在呈现此视图的控制器操作中,可以设置视图模型的Name属性:

public ActionResult Index()
{
    var model = new MyViewModel();
    model.Name = ModelMetadata.FromLambdaExpression<MyViewModel, string>(x => x.Name, new ViewDataDictionary<MyViewModel>(model)).DisplayName;
    return View(model);
}
@Html.TextBoxFor(m => m.Name, new { Value = (string.IsNullOrWhiteSpace(Model.Name) ? Html.DisplayNameFor(x => x.Name).ToHtmlString() : Model.Name) })
public ActionResult Index()
{
    var model = new MyViewModel();
    model.Name = ModelMetadata.FromLambdaExpression<MyViewModel, string>(x => x.Name, new ViewDataDictionary<MyViewModel>(model)).DisplayName;
    return View(model);
}
@Html.LabelFor(x => x.Name)
@Html.EditorFor(x => x.Name)