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 行がクリックされたときに null 値以外のものを生成するために多くのことを試みましたが、どちらも機能しませんでした。そのような:

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))

グリッドビューの行をクリックすると、次のエラーが表示されます。

エラー: 'null' は null であるか、オブジェクトではありません

私も実装を試みました: javascript を使用して ModalPopupExtender への参照を取得する際のトラブル

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

しかし、同じ結果が得られました。どんな助けでも大歓迎です。

4

0 に答える 0