仅在gridview列链接按钮中创建某些单元格

时间:2013-10-30 14:56:37

标签: c# asp.net

我有一个从数据库中提取数据的gridview:

enter image description here

我不想让任务中的内容成为一个链接按钮,可以点击该按钮以显示带有其他信息的弹出窗口。

当我创建列链接按钮时,它也会使Total:和Subtotal:一个链接按钮: enter image description here

            <asp:TemplateField HeaderText="Task" ItemStyle-Width="20%">
                <ItemTemplate>
                    <asp:LinkButton ID="taskLinkButton" runat="server"
                        Text='<%# Eval("Task")%>'>
                    </asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>

如何阻止这些特定行成为链接按钮?

2 个答案:

答案 0 :(得分:1)

有点脏,但这应该可以解决问题:

所以我可以在&lt; %%&gt;里面调用Databinder.Eval,我不确定它是否真的可行,所以我采用了不同的解决方案。以下对我有效(并且比上一版本更短):

<asp:TemplateField>
    <ItemTemplate>
            <asp:LinkButton Text='<%# Eval("task") %>' Visible='<%# Eval("incidentN") != null %>' runat="server" />
            <asp:Literal Text='<%# Eval("task") %>' Visible='<%# Eval("incidentN") == null %>' runat="server" />
    </ItemTemplate>
</asp:TemplateField>

答案 1 :(得分:0)

您可以使用具有条件可见性的PlaceHolder

<asp:PlaceHolder ID="Ok" runat="server" Visible='<%# (Eval("LoadStatus").ToString()=="false"?true:false) %>'><%----%>
   <asp:Label ID="Label1" Text='<%# Eval("Task")%>' runat="server" />
</asp:PlaceHolder>
<asp:PlaceHolder ID="Ko" runat="server" Visible='<%# (Eval("LoadStatus").ToString()=="false"?false:true) %>'><%----%>
                <asp:LinkButton ID="taskLinkButton" runat="server"
                    Text='<%# Eval("Task")%>'>
                </asp:LinkButton>
</asp:PlaceHolder>