2010-10-13 6 views
8

he creado una plantilla de visualización que cuando se aprobó hace que una cadena de un cuadro de texto con discapacidadAsp.net Mvc Muestra la plantilla de String, ¡pero ahora todos los tipos simples quieren usarla!

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<String>" %> 
<%: Html.TextBoxFor(model => model, new { disabled = "disabled" })%> 

Qué funciona muy bien. Sin embargo, por alguna razón MVC quiere probar y DateTime cosas y Entrs través de él también, que se lanzar excepciones

El elemento de modelo pasado en el diccionario es del tipo 'System.Int32', pero esto requiere un diccionario elemento de modelo del tipo 'System.String'.

¿Alguna idea?

+0

¿Cuál es el nombre del archivo físico ascx y qué código está utilizando para invocarlo? –

Respuesta

10

No necesita escribir con fuerza la plantilla en una Cadena.

puede intentar algo como esto:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 
<%= Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, 
      , new { disabled = "disabled" }) %> 

Y en su vista que llamarlo como esto

Html.DisplayModelFor(model => mode.name); 

Para más información ver un ejemplo de la forma predeterminada incorporada editor de plantillas para el cadena en Brad Wilsonarticle en su serie sobre Plantillas en ASP.NET MVC.

Debería considerar revisar la serie completa. No puedo expresar lo útil que fue esta serie para mí.

+1

¡Gracias dulce hombre! ¡Perfecto! –

+0

Me alegro de poder ayudar :) –

Cuestiones relacionadas