Gridview buttonfield的工作原理LinkBut​​ton没有

时间:2010-04-07 14:07:36

标签: asp.net gridview linq-to-sql data-binding sitecore

我已经在这个问题上打了好几个小时了,真的可以使用一些帮助: - )

这是网格

<asp:GridView ID="annonceView" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="dataSourceAnnoncer">
    <Columns>
        <asp:BoundField DataField="Productname" HeaderText="Productname" />            

        <asp:buttonfield buttontype="Link" commandname="Delete" text="Delete"/>

        <asp:TemplateField HeaderText="Administration">
            <ItemTemplate>
                <asp:LinkButton ID="lnkBtnDelete" runat="server" Text="Delete" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Delete?')" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

<asp:LinqDataSource ID="dataSourceAnnoncer" runat="server"        ContextTypeName="Namespcae.TheContext" 
    EnableDelete="True" TableName="Annoncer">
</asp:LinqDataSource>    

单击按钮字段可以删除记录。单击LinkBut​​ton不起作用。我得到一个回发,网格显示为空,没有记录被删除。看起来像一个空的数据绑定。 我试图为LinkBut​​ton创建一个自定义的OnClick,OnCommand事件,但都没有被触发。 OnRowCommand也没有被解雇。

我不在代码隐藏中手动使用DataBind。

2 个答案:

答案 0 :(得分:1)

问题不在于Asp.net,而在于Sitecore(A CMS),这里描述了简单的解决方案,http://www.cassidy.dk/blog/sitecore/2009/01/typesthatshouldnotbeexpanded.html

我觉得Sitecore已经偷走了我生命中的几个小时,问题就解决了,所以我很高兴: - )

答案 1 :(得分:0)

您的代码看起来很好,应该可以使用。确保您没有在其他地方使用lnkBtnDelete Id。你是否同时存在buttonField和TemplateField?如果删除buttonfield会发生什么?