2010-05-26 64 views
5

Tengo un error como No puedo convertir implícitamente el tipo 'cadena' en 'System.Web.UI.WebControls.Unit' en el siguiente código . Cómo arreglar esto.No se puede convertir implícitamente el tipo 'cadena' en 'System.Web.UI.WebControls.Unit'

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     RadTab tab = new RadTab(); 
     tab.Text = string.Format("New Page {0}", 1); 
     RadTabStrip1.Tabs.Add(tab); 

     RadPageView pageView = new RadPageView(); 
     pageView.Height = "100px"; 
     RadMultiPage1.PageViews.Add(pageView); 

     BuildPageViewContents(pageView, RadTabStrip1.Tabs.Count); 
     RadTabStrip1.SelectedIndex = 0; 
     RadTabStrip1.DataBind(); 

    } 
} 

Aquí recibimos el error. pageView.Height = "100px";

¿Cómo solucionar esto?

Respuesta

3

El mensaje de error dice todo. Necesita convertir el valor a System.Web.UI.WebControls.Unit de una manera más específica. Luckliy, el tipo Unit tiene una constructor con esta habilidad:

pageView.Height = new System.Web.UI.WebControls.Unit("100px"); 
0

Cambio

pageView.Height = "100px"; 

a

pageView.Height = new Unit(100); 

Height es de tipo Unit, por lo que necesita para asignar un valor a la misma que también es de tipo Unit. Para crear un objeto de tipo Unit, debe llamar al Unitconstructor con new; uno de los constructores acepta como parámetro el número de píxeles que representará el Unit.

5

Porque Height no es del tipo de cadena pero del tipo UnitSystem.Web.UI.WebControls.Unit enter code here.

Se pueden utilizar los siguientes métodos estáticos para convertir a la Unidad:

  • Unit.Pixel(100); // 100 px
  • Unit.Percent(10); // 10 %
  • Unit.Point(100); // 100 pt
  • Unit.Parse("100px"); // 100 px

La estructura de unidad no tiene una explícita o conversión implícita de cadena, de ahí ore, el error que está observando ocurre.

0

Reemplazar "100px"; con

new System.Web.UI.WebControls.Unit("100px"); 
0

La Altura en el control es de tipo Unit. Que desea utilizar

pageView.Height = Unit.Pixel(100); 
0

Este this MSDN documento sobre el uso de unidades. En su caso:

pageView.Height = new Unit("100px"); 
Cuestiones relacionadas