当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> 
+0

Thansk @Ben,你可以给模板用一个例子“插入”命令? – Wodzu 2010-08-20 12:26:23

+0

我已经更新了我的简单示例。该按钮应该将DetailsView转换为插入模式。 – 2010-08-20 12:49:26

+0

该按钮是可见的,但按下它后DetailsView不会更改其模式。但是页面很新鲜。我需要指定命令myslef吗? (在浏览网页后,我发现该命令的正确名称是“插入”,但是现在我得到消息说明DetailsView必须处于插入模式... – Wodzu 2010-08-20 13:08:40