(我正在使用lukinha rs对行onclick功能的解决方案)
当我单击GridView中的一行时,我会在Modalpopupextender打开之前会得到回发,我不希望发回,但是您看到我使用的方法是原因。不幸的是,这是我唯一能够将其应用于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();
}
不幸的是,这是我唯一能够获得on Clockick的唯一途径 应用于GridView行以打开MPE
错误。实际上,您可以在没有后备的情况下打开模态扩展器。更改onclick
属性值如下:
e.Row.Attributes.Add("onclick", String.Format("javascript:$find('{0}').show();", ModalPopupExtender1.ClientID));