2010-05-26 11 views
5

Ricevo errori come Impossibile convertire implicitamente il tipo 'stringa' in 'System.Web.UI.WebControls.Unit' nel seguente codice . Come risolvere questoImpossibile convertire in modo implicito il tipo 'stringa' in '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(); 

    } 
} 

Qui sto ricevendo errore. pageView.Height = "100px";

Come risolvere il problema?

risposta

3

Il messaggio di errore dice tutto. È necessario convertire il valore in System.Web.UI.WebControls.Unit in un modo più specifico. Luckliy, il tipo di Unit ha un constructor con questa capacità:

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

Change

pageView.Height = "100px"; 

a

pageView.Height = new Unit(100); 

Height è di tipo Unit, quindi è necessario assegnare un valore ad essa, che è anche di tipo Unit. Per creare un oggetto di tipo Unit è necessario chiamare il Unit's costruttore con new; uno dei costruttori accetta come parametro il numero di pixel che deve rappresentare il Unit.

5

Perché Height non è di tipo stringa ma di tipo UnitSystem.Web.UI.WebControls.Unit enter code here.

È possibile utilizzare i seguenti metodi statici per convertire in Unità:

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

La struttura unità non hanno un esplicito o conversione implicita da stringa, quindi minerale, si verifica l'errore che si sta osservando.

0

Sostituire "100px"; con

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

L'altezza sul controllo è di tipo Unit. Si desidera utilizzare

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

Questo this MSDN doc su come utilizzare unità. Nel tuo caso:

pageView.Height = new Unit("100px"); 
Problemi correlati