Considérese la siguiente configuración:¿Solo funciona ReadOnly (true) con Html.EditorForModel?
Modelo:
public class Product
{
[ReadOnly(true)]
public int ProductID
{
get;
set;
}
public string Name
{
get;
set;
}
}
Vista:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MvcApplication4.Models.Product>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<%= Html.EditorForModel() %>
</asp:Content>
controlador:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new Product
{
ProductID = 1,
Name = "Banana"
});
}
}
Hay resultado es este:
Estaba esperando que la propiedad ProductID
no fuera editable a través del atributo ReadOnly(true)
. ¿Esto es compatible? Si no, ¿hay alguna forma de insinuar ASP.NET MVC que algunas propiedades de mi modelo son de solo lectura? No me gustaría simplemente ocultar ProductID
a través de [ScaffoldColumn(false)]
.
Gracias. Ya me lo imaginaba. Lástima que no quiero usar [ScaffoldColumn (false)] y crear una plantilla de editor sería una especie de fracaso ... –
Bueno, @naso, hay momentos como este cuando simplemente maldecimos a Microsoft y continuamos con nuestro diario trabajos :-) Saludos. –