【问题标题】:ASP.NET HtmlTextArea attributes and newlineASP.NET HtmlTextArea 属性和换行符
【发布时间】:2010-02-01 21:46:37
【问题描述】:

我想在我用 C# 开发的 SharePoint Web 部件中更改 HtmlTextArea 的一些属性。 HtmlTextArea 被用作我正在拉入的一些 Sql Server 2005 数据的自定义显示,我想更改字体、颜色等,并将其设为只读。我看到有一些方法,例如 HtmlTextArea.Attributes.Add、HtmlTextArea.Attributes.AddAttributes 和 HtmlTextArea.Attributes.CssStyle,但我不确定这些方法是否合适,也不知道如何使用它们.我知道使用 ASP.NET TextArea 控件,我可以简单地使用内联 CSS,因此我试图找出一种在 C# 中设置内联 CSS 的方法。

另外,我想找到一种在控件之间添加换行符的方法,以帮助放置。我已经在 CreateChildControls 中布置了我的所有控件,但我看不出如何控制它们的位置。例如,我有类似的东西:

    protected override void CreateChildControls()
    {
        customers = new DropDownList();
        customers.ID = "customers";
        Controls.Add(customers);

        machines = new DropDownList();
        machines.ID = "machines";
        Controls.Add(machines);

        specsOutput = new HtmlTextArea();
        specsOutput.ID = "specsOutput";
        Controls.Add(specsOutput);
    }

我希望 HtmlTextArea 显示在 ddls 下方。感谢大家的帮助。

【问题讨论】:

    标签: c# asp.net css sharepoint newline


    【解决方案1】:

    要添加内联css,请使用Attributes.Add("style", "color: white; background-color: black");等。

    您可以添加LiteralControls 来帮助您自定义控件的布局。

    customers = new DropDownList();
    customers.ID = "customers";
    Controls.Add(customers);
    Controls.Add(new LiteralControl("<br />"));
    

    【讨论】:

      【解决方案2】:

      要管理控件的呈现方式,您可以覆盖Render 事件,如下所示:

      protected override void Render(HtmlTextWriter writer)
      {
          customers.RenderControl(writer);
          writer.Write("<br />");
          machines.RenderControl(writer);
          writer.Write("<br />");
          specsOutput.RenderControl(writer);
      }
      

      正如 womp 所提到的,可以通过在控件上使用 Attributes.Add 方法来添加内嵌样式。

      【讨论】:

      • 我实际上最初是这样渲染控件的;我刚刚发现,使用像我这样更简单的布局(两个 ddls 和一个 HtmlTextArea)和相当简单的渲染,我喜欢直接的方法来覆盖 CreateChildControls 并让它全部呈现在一行中。
      • 这很酷。请记住,当您这样做时,您会创建大量对象只是为了渲染,并且需要按照您希望它们渲染的顺序创建它们。
      【解决方案3】:

      如果您想摆脱这种构建 Web 部件 UI 的相当尴尬的方式,您可以加载一个 ASCX,您的 Web 部件设计体验将像任何用户控件一样......好多了。

      example

      【讨论】:

      • 谢谢。我已经以这种方式看待事情,这可能是我将来会采取的路线,但是这个 Web 部件几乎已经完成,所以我将使用这种方法来完成它。
      猜你喜欢
      • 2019-06-11
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2014-10-16
      • 2023-04-06
      • 2017-01-22
      相关资源
      最近更新 更多