覆盖FormView模板

时间:2009-06-11 03:30:39

标签: asp.net formview

默认情况下,FormView控件创建html,如:

ID <asp:TextBox ID="IdTextBox" runat="server" Text='<%# Eval("ID") %>' />
<br />
Name <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Eval("Name") />

我更喜欢:

<ol class="form-layout">
  <li><asp:Label AssociatedControl="IdTextBox" runat="server">ID:</aspLabel><asp
  ....
</ol>

我的计划是创建一个新的控件(OrderedListFormView),它继承FormView并覆盖生成默认“crap”html的方法。我一直无法找到方法。有人可以帮忙吗?你有更好的解决方案,花费0美元吗?

我更愿意在设计时更改默认行为。

2 个答案:

答案 0 :(得分:1)

你听起来像你有ASP.NET表单蓝调。你试过ASP.NET MVC吗?它可以更好地控制您呈现的HTML,您可以mix it in with existing ASP.NET applications

答案 1 :(得分:1)

尝试使用控件适配器从FormView更改呈现的HTML,有一个工具包,非常容易编码

http://weblogs.asp.net/scottgu/archive/2006/09/08/CSS-Control-Adapter-Toolkit-Update.aspx

http://msdn.microsoft.com/en-us/magazine/cc163543.aspx