Cannot implicitly convert type 'string' to 'System.Web.UI.WebControls.Unit'
I ma getting error like Cannot implicitly convert type 'string' to 'System.Web.UI.WebControls.Unit' in the following code. How to fix this.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
RadTab tab = new RadTab();
tab.Text = string.Format("N开发者_StackOverflow社区ew 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();
}
}
Here I am getting error. pageView.Height = "100px";
How to fix this?
Because Height is not of type string but of type UnitSystem.Web.UI.WebControls.Unitenter code here.
You can use the following static methods to convert to Unit:
Unit.Pixel(100); // 100 pxUnit.Percent(10); // 10 %Unit.Point(100); // 100 ptUnit.Parse("100px"); // 100 px
The Unit structure does not have an explicit or implicit conversion from string, therefore, the error you are observing occurs.
The error message says it all. You need to convert the value to a System.Web.UI.WebControls.Unit in a more specific manner. Luckliy, the Unit type has a constructor with this ability:
pageView.Height = new System.Web.UI.WebControls.Unit("100px");
Change
pageView.Height = "100px";
to
pageView.Height = new Unit(100);
Height is of type Unit, so you need to assign a value to it that is also of type Unit. To make an object of type Unit you need to call Unit's constructor with new; one of the constructors accepts as a parameter the number of pixels that the Unit is to represent.
The Height on the control is of type Unit. You want to use
pageView.Height = Unit.Pixel(100);
This this MSDN doc on how to use Units. In your case:
pageView.Height = new Unit("100px");
Replace "100px"; with
new System.Web.UI.WebControls.Unit("100px");
加载中,请稍侯......
精彩评论