日期:2014-05-17  浏览次数:20450 次

给DataList的e.Item审核通过。出错了,数据ID怎么绑定?
本帖最后由 woyaodubo 于 2013-12-24 11:55:30 编辑
多行多列的,DataKeys[e.ItemIndex]不行吧。用了DataKeys[e.Item.ItemIndex]也不行。
应该怎样绑定呢?



<asp:DataList ID="DataList1" runat="server" RepeatColumns="2">
<ItemTemplate>
<asp:LinkButton ID="lkbImg" runat="server">
<img src='/Student/UpSmallPhoto/<%# Eval("Photo_Path")%>'  style="border-width:0px" width="133px" height="100px"/>
</asp:LinkButton>
<asp:LinkButton  ID="pass" style="text-decoration:none;color:#ff0000;" runat="server" Text="审核通过" OnClick="pass_Click"/>
</ItemTemplate>
</asp:DataList>






        protected void pass_Click(object sender, EventArgs e)
        {
            string passSql = "update Stu_Work set Pass='1' where Work_ID='" + DataList1.DataKeys[e.Item.ItemIndex].ToString() + "'";
            bool del = mydata.ExceSQL(passSql);
            if (del)
            {
                Response.Write("<script language=javascript>alert('通过审核');</script>");
            }
        }








错误 63 “System.EventArgs”不包含“Item”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“Item”(是否缺少 using 指令或程序集引用?) F:\V\V\Admin\Check_StuWork.aspx.cs 130 100

------解决方案--------------------

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            Literal ID = (Literal)e.Item.FindControl("ltID");
            switch (e.CommandName)
            {
                case "Approve":
                    Response.Write(e.Item.ItemIndex);