如何动态创建 Sharepoint 组合框?

How to dynamically create Sharepoint ComboBoxes?

我在我的 Sharepoint 项目中使用 C# 动态创建文本框,如下所示:

boxRequestDate = new TextBox
{
    CssClass = "dplatypus-webform-field-input",
    Text = DateTime.Today.ToShortDateString()
};

...但有时我也需要组合框(或它们的 HTML 等价物)。这是怎么做到的? "ComboBox" 在 Sharepoint 中未被识别。当然有一种方法可以创建一个 "acts like" 组合框的 TextBox(文本类型的输入元素)。

具体来说,我需要创建用作日期元素(没有双关语意)的控件,即 "Month" 组合框,其中包含 vals January...December,"Days of Month"控件包含 1..[28...31] 的值,以及一个 "Year" 组合框,比如 2000 到 2016.

这是如何在 C# 中以编程方式完成的?

更新

结果可能是这个或类似的东西会起作用:

boxReturnDateMonth = new TextBox
{
    CssClass = "dplatypus-webform-field-input",
    TextMode = TextBoxMode.MultiLine,
    Rows = 12
};
boxReturnDateMonth.Text.Insert(0, "Jan");
boxReturnDateMonth.Text.Insert(1, "Feb");
boxReturnDateMonth.Text.Insert(2, "Mar");
boxReturnDateMonth.Text.Insert(3, "Apr");
boxReturnDateMonth.Text.Insert(4, "May");
boxReturnDateMonth.Text.Insert(5, "Jun");
boxReturnDateMonth.Text.Insert(6, "Jul");
boxReturnDateMonth.Text.Insert(7, "Aug");
boxReturnDateMonth.Text.Insert(8, "Sep");
boxReturnDateMonth.Text.Insert(9, "Oct");
boxReturnDateMonth.Text.Insert(10, "Nov");
boxReturnDateMonth.Text.Insert(11, "Dec");

IOW,使用文本框,但将其 TextMode 设置为多行,计算行数(条目),然后添加这些条目。

这似乎是这样做的方法:

DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jan", "1")); 
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Feb", "2"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Mar", "3"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Apr", "4"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("May", "5"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jun", "6"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jul", "7"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Aug", "8"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Sep", "9"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Oct", "10"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Nov", "11"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Dec", "12"));
DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.CssClass = "dplatypus-webform-field-input";
ddlReturnDateMonth.Items.Add(new ListItem("Jan", "1"));