繁体   English   中英

ASP.Net DataList问题

[英]ASP.Net DataList problem

我声明性地创建了一个LinqDataSource和DataList,并将它们绑定在标记中。 我创建了一个ItemTemplate和Edit Template。

我已将DataLists oneditcommand和oncancelcommand绑定到后面的代码中的方法。

<asp:DataList ID="MyDataList" runat="server" DataSourceID="LinqDataSource1" RepeatDirection="Horizontal"
    Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
    Font-Underline="False" HorizontalAlign="Center" RepeatColumns="4" 
    oneditcommand="MyDataList_EditCommand" 
    oncancelcommand="MyDataList_CancelCommand" 
    >

<ItemTemplate>
    <div style="margin: 5px;">
        <asp:LinkButton Text="Edit" CommandName="Edit" style="float:right" runat="server" />
    // Other markup    
    </div>
</ItemTemplate>

当我单击ItemTemplate中的LinkBut​​ton时,它运行以下代码:

protected void DataList_EditCommand(object source, DataListCommandEventArgs e)
        {
            MyDataList.EditItemIndex = e.Item.ItemIndex;
            MyDataList.DataBind();
        }

这很好,并将所选项目在DataList中置于编辑模式。 编辑模板:

    <EditItemTemplate>
        <div style="margin: 5px;">
            <asp:LinkButton Text="Cancel" style="float:right" 
                runat="server" CommandName="cancel" CausesValidation="false"/>
      //other markup
        </div>
    </EditItemTemplate>

当我单击编辑模板中的取消按钮时,它不会在后面的代码中触发该方法(断点不会被击中)。

取消时应运行的代码永远不会运行,因此我无法将编辑模式退回到正常读取模式:

protected void MyDataList_CancelCommand(object source, DataListCommandEventArgs e)
    {
        PhotoDataList.EditItemIndex = -1;
        PhotoDataList.DataBind();
    }

谁能想到这个的原因?

----更新

看起来它只是DataList上一个事件的第二次触发不起作用,因为我知道绑定到ItemCommand事件,并且它将拦截DataListCommandEventArgs.CommandName属性并基于此做一些事情。 如果单击“编辑”链接按钮,则会触发ItemCommand方法(根本没有代码体),但第二次单击“编辑链接”按钮时,ItemCommand方法不会被触发。

DataList的名称是:“MyDataList”

但取消事件调用PhotoDataList!

protected void MyDataList_CancelCommand(object source, DataListCommandEventArgs e)
    {
        PhotoDataList.EditItemIndex = -1;
        PhotoDataList.DataBind();
    }

我无法复制你的问题,我运行了这个演示代码,所有事件和模板都运行良好:

如何:允许用户在DataList Web服务器控件中编辑项目

您的活动日志中是否有任何错误? 另外,我没有看到DataKeyField已定义,您如何选择数据?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM