0

(我正在使用 Lukinha RS 的行 onclick 功能解决方案)

当我单击 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();
}
4

1 回答 1

0

不幸的是,这是我能够将 onClick 应用于 gridview 行以打开 MPE 的唯一方法

不正确。实际上,您可以在不回发的情况下打开模态扩展器。更改onclick属性值如下:

e.Row.Attributes.Add("onclick", String.Format("javascript:$find('{0}').show();", ModalPopupExtender1.ClientID));
于 2012-10-19T11:41:17.810 回答