2010-05-26 116 views
5

我馬上得到像以下代碼中的類型'字符串'不能隱式轉換爲'System.Web.UI.WebControls.Unit'的錯誤。如何解決這個問題。不能隱式地將類型'字符串'轉換爲'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(); 

    } 
} 

這裏我得到錯誤。 pageView.Height =「100px」;

如何解決這個問題?

回答

3

錯誤消息說,這一切。您需要以更具體的方式將值轉換爲System.Web.UI.WebControls.Unit。 Luckliy,所述Unit類型具有與此能力的constructor

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

變化

pageView.Height = "100px"; 

pageView.Height = new Unit(100); 

HeightUnit類型的,所以你需要分配一個值給它,這也是Unit類型。要創建Unit類型的對象,您需要撥打Unit構造函數new;其中一個構造函數接受Unit要表示的像素數作爲參數。

5

因爲Height不是類型字符串,而是類型爲UnitSystem.Web.UI.WebControls.Unit enter code here

您可以使用下面的靜態方法來轉換成單位:

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

單元結構沒有明確的或從字符串中的隱式轉換,theref礦石,你正在觀察的錯誤發生。

0

更換"100px";

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

在控制的高度爲Unit類型。你想使用

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

這個this MSDN doc如何使用單位。在你的情況下:

pageView.Height = new Unit("100px"); 
相關問題