无法将类型'string'隐式转换为'System.Web.UI.WebControls.Unit'

Phi*_*lly 5 .net

我得到的错误就像在下面的代码中不能隐式地将类型'string'转换为'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();

    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里得到错误.pageView.Height ="100px";

如何解决这个问题?

Axe*_*ger 5

因为Height不是类型字符串而是类型UnitSystem.Web.UI.WebControls.Unit enter code here.

您可以使用以下静态方法转换为Unit:

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

Unit结构没有来自字符串的显式或隐式转换,因此,您正在观察的错误发生.


Fre*_*örk 3

错误消息说明了一切。您需要System.Web.UI.WebControls.Unit以更具体的方式将该值转换为 a 。幸运的是,该Unit类型有一个具有此功能的构造函数:

pageView.Height = new System.Web.UI.WebControls.Unit("100px");
Run Code Online (Sandbox Code Playgroud)