当DataSource中没有数据时DetailsView不可见
问题描述:
即使在底层数据源中没有数据时如何显示DetailsView?当DataSource中没有数据时DetailsView不可见
问题是,当DetailsView不可见时,命令按钮也不可见。所以我不能将新记录插入数据库。我想总是看到DetailsView
,其DefaultMode
设置为ReadOnly。
如果这是不可能的,我想问一个解决这个问题的解决方法。
我想到的一种解决方法是检查数据源是否有任何记录。如果没有,则programmaticaly将DefaultMode
更改为Insert。但是这会导致另一个问题 - 如何计算DataSource中的记录数。
我所有的问题都涉及到ASP 3.5
答
您需要添加一个EmptyDataTemplate:
<asp:DetailsView ID="MyDV" runat="server">
<EmptyDataTemplate>
<asp:Button ID="InsertButton" runat="server" CommandName="New" />
</EmptyDataTemplate>
</asp:DetailsView>
Thansk @Ben,你可以给模板用一个例子“插入”命令? – Wodzu 2010-08-20 12:26:23
我已经更新了我的简单示例。该按钮应该将DetailsView转换为插入模式。 – 2010-08-20 12:49:26
该按钮是可见的,但按下它后DetailsView不会更改其模式。但是页面很新鲜。我需要指定命令myslef吗? (在浏览网页后,我发现该命令的正确名称是“插入”,但是现在我得到消息说明DetailsView必须处于插入模式... – Wodzu 2010-08-20 13:08:40