//protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
//{
// if(e.Item.HasControls ())
// {
// LinkButton delete = (LinkButton )e.Item.FindControl("LinkButton2"); // if (delete.Text .Equals ("删除"))
// {
// delete.Attributes.Add("onclick","javascript:return confirm('"+string .Format ("您确定要删除此信息吗{0}",Eval ("name"))+"')");
// } // }
//}
我想这样得到,datalist里的删除按钮,然后添加属性,可是报错,不知道是不是应该在这里添加,请指教
//{
// if(e.Item.HasControls ())
// {
// LinkButton delete = (LinkButton )e.Item.FindControl("LinkButton2"); // if (delete.Text .Equals ("删除"))
// {
// delete.Attributes.Add("onclick","javascript:return confirm('"+string .Format ("您确定要删除此信息吗{0}",Eval ("name"))+"')");
// } // }
//}
我想这样得到,datalist里的删除按钮,然后添加属性,可是报错,不知道是不是应该在这里添加,请指教
--------------------------------------------------------------------------------未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 64: LinkButton delete = (LinkButton)e.Item.FindControl("LinkButton2");
行 65:
行 66: if (delete.Text.Equals("删除"))
行 67: {
行 68: delete.Attributes.Add("onclick", "javascript:return confirm('您确定要删除此信息吗')");
源文件: d:\Backup\test\datalist2.aspx.cs 行: 66 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
datalist2.DataList1_ItemDataBound(Object sender, DataListItemEventArgs e) in d:\Backup\test\datalist2.aspx.cs:66
System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs e) +105
System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +142
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +498
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +56
System.Web.UI.WebControls.BaseDataList.DataBind() +72
datalist2.binddata() in d:\Backup\test\datalist2.aspx.cs:31
datalist2.Page_Load(Object sender, EventArgs e) in d:\Backup\test\datalist2.aspx.cs:19
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
{
if(e.Item.ItemType==DataControlCellType.DataCell)
{
LinkButton delete = (LinkButton )e.Item.FindControl("LinkButton2"); if (delete!=null)
{
delete.Attributes.Add("onclick","javascript:return confirm('您确定要删除此信息吗')");
}
}
}
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
ImageButton butClear = (ImageButton)e.Item.FindControl("clearP");
//在页面为Button控件定义CommandName 属性
if(butClear.CommandName = "delete")
{
butClear.Attributes.Add("onclick", "return confirm('你确定要删除该产品吗');");
}
}
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0019: 运算符“==”无法应用于“System.Web.UI.WebControls.ListItemType”和“System.Web.UI.WebControls.DataControlCellType”类型的操作数源错误: 行 60: {
行 61:
行 62: if (e.Item.ItemType == DataControlCellType.DataCell)
行 63: {
行 64: LinkButton delete = (LinkButton)e.Item.FindControl("LinkButton2");