目前我正在开发一个广泛的表单,我想通过将输入字段分组到类似groupbox的面板中来组织。这些面板有一个标题,一个最小化和图钉图标。内部控件也应该能够对FormViews数据源执行双向绑定。
我找不到任何内置的asp.net控件来完成这项工作。完成此功能请求的最佳方法是什么?有任何可用的例子(找不到合适的例子)?
非常感谢!
答案 0 :(得分:1)
模板化控件将完成工作。有关更多信息,请查看这些链接:
答案 1 :(得分:1)
Tuturials非常有趣,但目前并不需要模板控制,也没有数据控制。只有controlcollection中的控件应该能够这样做,但显然它们是默认的。
找到了多种方法来实现。一个用于扩展默认的Panel控件,另一个用于从WebControl扩展,如下所示。按预期工作。
[DefaultProperty("HeaderText")]
[ToolboxData(@"<{0}:FormGroupBox runat=""server"" HeaderText=""Title""></{0}:FormGroupBox>")]
[PersistChildren(true), ParseChildren(false, "Controls")]
public class FormGroupBox : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string HeaderText
{
get
{
String s = (String) ViewState["HeaderText"];
return ((s == null) ? "[" + this.ID + "]" : s);
}
set
{
ViewState["HeaderText"] = value;
}
}
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(string.Format("<strong>{0}</strong>", this.HeaderText));
output.Write(@"<hr />");
base.RenderContents(output);
}
}