2

グリッドビューでリンクをクリックすると、Sharepoint2010をポップアップウィンドウのように表示する必要があります。モーダルポップアップが表示され、ユーザーが[保存]ボタンを選択したら、ポップアップの指定された値でデータベースを更新する必要があります。どうすればこれを入手できますか。何か案が。

今のところ、私はそれを取得するために以下のコードを使用していますが、ポップアップのボタンをクリックすると、データベースに値を渡す方法がわかりません

注:現在のところ、ここではグリッドビューコードを追加していません。これは、最初にサンプルhtmlで達成したいので、次にグリッドビューで実行したかったためです。

Javaスクリプト

function openDialog() {

    var options = {

        html: divModalDialogContent,  // ID of the HTML tag

        // or HTML content to be displayed in modal dialog

        width: 600,

        height: 300,

        title: "My First Modal Dialog",

        dialogReturnValueCallback: dialogCallbackMethod,  // custom callback function

        allowMaximize: true,

        showClose: true

    };

    SP.UI.ModalDialog.showModalDialog(options);

}

//Results displayed if 'OK' or 'Cancel' button is clicked if the html content has 'OK' and 'Cancel' buttons

function onDialogClose(dialogResult, returnValue) {

    if (dialogResult == SP.UI.DialogResult.OK) {

        alert('Ok!');

    }

    if (dialogResult == SP.UI.DialogResult.cancel) {

        alert('Cancel');

    }

}

// Custom callback function after the dialog is closed

function dialogCallbackMethod() {

    alert('Callback method of modal dialog!');

}

HTML

<div id="divModalDialogContent">

    Hello World!

    <input type="button" value="OK"onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.OK, 'Ok clicked'); return false;"

        class="ms-ButtonHeightWidth" />

    <input type="button" value="Cancel"onclick="SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.cancel, 'Cancel clicked'); return false;"

        class="ms-ButtonHeightWidth" />

        <asp:Button runat="server" ID="btnClicked" Text="Clicked" 
        onclick="btnClicked_Click" />

<input type="button" value="Open" onclick="openDialog()" />

ポップアップの「クリック」ボタンをクリックしてdbを呼び出すにはどうすればよいですか。また、ポップアップにパラメータを送信する必要があります

前もって感謝します

4

2 に答える 2

1

Sharepointリスト/ライブラリまたはSQLデータベースと対話するポップアップ画面でOK、キャンセル、または送信ボタンイベントが必要な場合は、ポップアップにイベントを実装する必要があります。以下の手順を確認してください:-

  1. ポップアップ ページは、次の機能を持つ「Microsoft.SharePoint.WebControls.LayoutsPageBase」を継承する必要があります。

    protected void EndOperation(int result, string returnValue)
    {
      string closeModal = String.Format(CultureInfo.InvariantCulture,
      "<script type=\"text/javascript\">window.frameElement.commonModalDialogClose
      ({0}, '{1}');</script>", new object[] { result, returnValue });
      this.Page.ClientScript.RegisterStartupScript(base.GetType(),
      "CreatePopup", closeModal, false);
    }
    
  2. OKボタンのようなポップアップアクションでリッスンできるイベントを実装します

    public delegate void AddEventHandlerToSPDialogEvent(object sender, PDialogEventHandler e);
    public class SPDialogEventHandler : EventArgs
    {
      public int dialogResult { get; set; } // 0 or 1
      public string ReturnValues { get; set; } // can be url or any success/error message
      public SPDialogEventHandler(int result, string list)
      {
        ReturnValues = list;
        dialogResult = result;
      }
    }
    
  3. ポップアップのボタン アクションからこのイベントを呼び出します。例:

    public event AddEventHandlerToSPDialogEvent ResultOk;
    protected void CancelBtn_Click(object sender, EventArgs e)
    {
        try
        {
            int dialogResult = 0;
            if (this.ResultOk != null)
            {// Here dialogResult is 0. that means we have clicked on cancel button
                ResultOk(this, new SPDialogEventHandler(dialogResult,"Action Cancelled"));
            }
        }
        catch (Exception ex) { }
    }
    
于 2012-11-25T04:59:43.413 に答える
0

Ajaxコントロールツールキットを使用できます。その後、モーダルポップアップエクステンダーを探す必要があります。

そのように、.netコントロールをオーバーレイ/モーダルオーバーレイに追加して、コードビハインドで値を取得できます

詳細については、こちらを参照して くださいhttp://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx

SPポップアップ Sharepoint2010で、asp.netコントロールを含むモーダル/ポップアップフォームを開きます

于 2012-07-17T12:32:14.150 に答える