No funciona así, el error es:
Esperado ","
@Html.LabelFor(ViewBag.OrganizationDetails => (string)ViewBag.OrganizationDetails.AddressLegal, htmlAttributes: new { @class = "control-label col-md-2" }) OrganizationDetails es una clase y AddressLegal es una cadena (necesita su valor)
Prueba esto:
@model ParentModel @Html.LabelFor(model => model.Name) @Html.LabelFor(model => model.Child.Name)en tu caso debe ser:
@model ViewBag.OrganizationDetails @Html.LabelFor(model => model.AddressLegal, new { @class = "control-label col-md-2" })o
@model ViewBag @Html.LabelFor(model => model.OrganizationDetails.AddressLegal, new { @class = "control-label col-md-2" })no lo he probado
Tienes dos opciones.
La primera, al usar el ViewBag :
@using Models @{ ViewBag.Title = "Home Page"; OrganizationDetails details = ViewBag.OrganizationDetails; } @Html.LabelFor(m => details.AddressLegal, htmlAttributes: new { @class = "control-label col-md-2" })El segundo, use la versión fuertemente tipada de Html.LabelFor() pasando el modelo a la vista:
public ActionResult Index() { var model = new OrganizationDetails() { AddressLegal = "Address" /* set another properties ... */}; return View(model); }Y en la vista:
@model Models.OrganizationDetails @Html.LabelFor(m => m.AddressLegal, htmlAttributes: new { @class = "control-label col-md-2" }) @Html.DisplayFor(m => m.AddressLegal)