(我正在使用Lukinha RS的行解决方案)
当我点击gridview中的一行时,我在ModalPopupExtender打开之前得到一个回发,我不想要回发,但是你看到我使用的方法是原因。不幸的是,这是我能够将onClick应用于gridview行以打开MPE的唯一方法。
我遇到的另一个问题是MPE打开 - 我点击弹出窗口上的“关闭”按钮,只需重新加载页面,就会产生相同的弹出窗口。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
if (row.DataItem == null)
{
return;
}
try
{
switch (e.Row.RowType)
{
case DataControlRowType.Header:
break;
case DataControlRowType.DataRow:
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(GridView1, "Select$" + e.Row.RowIndex.ToString()));
break;
}
}
catch
{
return;
}
这是我的SelectedIndexChanged
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = ((GridView)sender).SelectedRow;
ModalPopupExtender mpe = (ModalPopupExtender)row.FindControl("ModalPopupExtender1");
mpe.Show();
}
答案 0 :(得分:0)
不幸的是,这是我能够获得onClick的唯一方式 应用于gridview行以打开MPE
错误。实际上,你可以在没有回发的情况下打开模态扩展器。
更改onclick
属性值如下:
e.Row.Attributes.Add("onclick", String.Format("javascript:$find('{0}').show();", ModalPopupExtender1.ClientID));