1

我已经按如下方式初始化了我的 MPE:

<asp:modalpopupextender ID                  ="ModalPopupExtender1"
                    BehaviorID          ="ModalBehavior"
                    runat               ="server"
                    OkControlID         ="btnCancel"
                    CancelControlID     ="btnCancel"
                    TargetControlID     ="dead"
                    PopupControlID      ="Panel1"
                    BackgroundCssClass  ="ModalPopupBG"/>

ModalPopupExtenderTargetControlID:_

<asp:Button id="dead" runat="server"/>

然后我将我的 gridview 行分配 onclick 属性来调用mpe.Show

switch (e.Row.RowType)
{
    case DataControlRowType.DataRow:
        e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
        e.Row.Attributes.Add("onclick", "ShowPopup()");
        break;

在 MasterPage 中的ShowPopup()功能:

function ShowPopup() {
    var mpe = $find('ModalBehavior');
    mpe.show()
}

当单击 GridView 行时,我尝试了很多方法来尝试生成除空值之外的任何内容,但它们也没有工作。如:

switch (e.Row.RowType)
{
    case DataControlRowType.DataRow:
        e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
        e.Row.Attributes.Add("onclick", String.Format("javascript:$find('{0}').show();", ModalPopupExtender1.ClientID));
        break;

这也是

String.Format("javascript:$find('{0}').show();", ModalPopupExtender1))
String.Format("javascript:$find('{0}').show();", ModalBehavior))

单击 gridview 行时,出现以下错误:

错误:'null' 为 null 或不是对象

我也尝试过实现:Trouble getting a reference to a ModalPopupExtender using javascript

function pageLoad() {
    var mpe = $find('ModalBehavior');
    mpe.show();
    debugger;
    $find('ModalBehavior').add_showing(
        function () {
            alert("Modal Popup will be showing");
        }
    );
}

但得到了相同的结果。任何帮助将不胜感激。

4

0 回答 0