2012-03-29 14 views
1

私はアプリケーションページを持っています。ボタンをクリックして、別のアプリケーションページにあるダイアログを表示したいと思います。ダイアログが表示され、空中ですばやく消えました。原文の中では、ページの正しい文脈を表示していませんでした。私はSharePoint 2010とVisual Studio 2010を使用しています。私はマスターページも使用しました。ありがとう。ModalDialogフォームが正常に動作しません

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server"> 
<link href="../Stylesheet.css" rel="stylesheet" type="text/css" /> 
<SharePoint:ScriptLink runat="server" Name="sp.js" OnDemand="true" LoadAfterUI="true" Localizable="false" /> 
</asp:Content> 
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> 
<div id="wrap"> 
    <div id="nav"> 
     <asp:Button ID="Edit" runat="server" Text="Edit" OnClientClick="javascript:Edit_Click()"> 

     </asp:Button> 
     <script type="text/javascript"> 
      function Edit_Click() { 
           SP.SOD.executeFunc("sp.js"); 
           var options = SP.UI.$create_DialogOptions(); 

           options.title = "My Dialog Title"; 
           options.width = 400; 
           options.height = 600; 
           options.url = "/_layouts/Admin/test.aspx"; 
           SP.UI.ModalDialog.showModalDialog(options); 

         }; 


      </script> 
    </div> 

答えて

1

の理由は、あなたのASPためです。ボタンは、ポストバックを実行します。

は、ポストバックを防ぐために

<asp:Button ID="Edit" runat="server" Text="Edit" OnClientClick="javascript:Edit_Click(); return false;" /> 

を使用してみてください。

+0

ボタンコントロールには "return"属性はありません。 –

+2

'return false'は属性ではなく、' OnClientClick'値の一部です。 – Tschareck

+0

申し訳ありません、ありがとうございます。 –

0

ダイアログが現れ、その後disappersこの仲間を試してみてください(..)

function Edit_Click() { 
    $("#app_setup_wizard_container").dialog({ 
     autoOpen:false, 
     height: 'auto', 
     width: 'auto', 
     resize:false, 
     modal: true, 
     position: [1230,220], 
     url = "/_layouts/Admin/test.aspx"; 
     open: function(event, ui) { 
      var $dialog = $(event.target); 
      var position = $dialog.dialog('option', 'position'); 
      $dialog.closest('.ui-dialog').css({ 
       left: position[0], 
       top: position[1] 
      }); 
     }, 
     buttons: { 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
+0

コードをフォーマットできますか? –

関連する問題