谁能告诉我为什么这是为什么。
情况是这样的,我用的是vs2008里面的asp:listview控件,让后我想利用它的insertItemplate来添加数据,但是出现了这样的一个问题,因为我想动态的为添加模板里面的服务端控件赋值,所以写了这样的代码
protected void lv_list_ItemCreated(object sender, ListViewItemEventArgs e)
{
ListViewItem item = e.Item;
if(item.ItemType == ListViewItemType.InsertItem)
{
ListViewItem insertItem = this.lv_list.InsertItem;
HtmlImage image = ListViewFindControl<HtmlImage>(insertItem, "img_temp");
HtmlTable table = ListViewFindControl<HtmlTable>(insertItem, "tempTable");
image.Attributes["onclick"] = "showDetail('" + table.ClientID + "',this)";
}
}
//只要红色的字出现,那么我的HtmlImage生成的标记就会是
<input type="image" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctrl0$img_modify", "", true, "", "", false, false))" />
//如果不出现的话,就会使正常的。
<input type="image" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$lv_list$ctrl0$img_modify", "", true, "", "", false, false))" />
大家主要看WebForm_PostBackOptions的第一个参数,到底是为什么呢??
因为如果是不正常的情况的话,ListView无法响应Insert命令啊。。
求大虾给出答案。。。