积极答复者
问一个关于DetailsView控件生成的HTML的问题

问题
-
用DetailsView如何生成想下面这样的HTML
<table>
<tr><th>名称</th><td>fff</td></tr>
<tr><th>国别</th><td>ffff</td></tr>
<tr><th>备注</th><td>师傅的萨菲的</td></tr>
</table>
我是这样写的
<asp:DetailsView DataKeyNames="id" AutoGenerateRows="false" DataSourceID="PurveySqlDataSource" ID="DetailsView1" runat="server">
<Fields>
<asp:BoundField DataField="name" HeaderText="名称" />
<asp:BoundField DataField="address" HeaderText="国别" />
<asp:BoundField DataField="brief" HeaderText="备注" />
</Fields>
</asp:DetailsView>
生成的HTML是这样的 ,由于生成了很多不必要的标记导致样式都乱了
<div>
<table cellspacing="0" rules="all" border="1" id="ctl00_ContentPlaceHolder1_DetailsView1" style="border-collapse:collapse;">
<tr>
<td>名称</td><td>顶尖艺术品供货商</td>
</tr><tr>
<td>国别</td><td>荷兰</td>
</tr><tr>
<td>备注</td><td>免费供应大量顶尖艺术品</td>
</tr>
</table>
</div>
答案
-
真的很不理解,这样的话 结构 表现 行为 混合在一起岂不是很混乱。样式,他们前端开发人员都会去做兼容的。
.net程序员不是都会去搞兼容性的 也不都是团队开发 控件为了用来提高开发效率的 你可以选择不用控件 用html+输出数据做
我觉得mvc可能满足你的需求- 已标记为答案 Microsoft.NET 2009年8月24日 8:57
全部回复
-
你好,可以使用模板。
谢谢了,请问table中的cellspacing="0" rules="all" border="1" style="border-collapse:collapse;" 这几个属性应该怎么去掉
<asp:DetailsView>
<Fields>
<asp:TemplateField>
<table>
<tr>
<th>名称</th>
<td>fff</td>
</tr>
<tr>
<th>国别</th>
<td>ffff</td>
</tr>
<tr>
<th>备注</th>
<td>师傅的萨菲的</td>
</tr>
</table>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
jon.valett@gmail.com -
你好,可以使用模板。
谢谢了,请问table中的cellspacing="0" rules="all" border="1" style="border-collapse:collapse;" 这几个属性应该怎么去掉
<asp:DetailsView>
<Fields>
<asp:TemplateField>
<table>
<tr>
<th>名称</th>
<td>fff</td>
</tr>
<tr>
<th>国别</th>
<td>ffff</td>
</tr>
<tr>
<th>备注</th>
<td>师傅的萨菲的</td>
</tr>
</table>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
jon.valett@gmail.com
那只有重写这个控件的方法了 -
真的很不理解,这样的话 结构 表现 行为 混合在一起岂不是很混乱。样式,他们前端开发人员都会去做兼容的。
.net程序员不是都会去搞兼容性的 也不都是团队开发 控件为了用来提高开发效率的 你可以选择不用控件 用html+输出数据做
我觉得mvc可能满足你的需求- 已标记为答案 Microsoft.NET 2009年8月24日 8:57