Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要类似Sharepoint的模式弹出窗口_C#_.net_Popup_Modal Dialog_Sharepoint Object Model - Fatal编程技术网

C# 需要类似Sharepoint的模式弹出窗口

C# 需要类似Sharepoint的模式弹出窗口,c#,.net,popup,modal-dialog,sharepoint-object-model,C#,.net,Popup,Modal Dialog,Sharepoint Object Model,我需要在网格视图中单击链接时显示类似Sharepoint 2010的弹出窗口。模式弹出窗口显示且用户选择后,应使用弹出窗口中的给定值更新保存按钮数据库。我怎样才能得到这个。任何想法 到目前为止,我使用下面的代码来获取它,但不知道一旦单击弹出窗口中的按钮,如何将值传递到数据库 注意:到目前为止,我没有在这里添加gridview代码,因为我想先用示例html实现它,然后用grid view实现它 Java脚本 function openDialog() { var options = {

我需要在网格视图中单击链接时显示类似Sharepoint 2010的弹出窗口。模式弹出窗口显示且用户选择后,应使用弹出窗口中的给定值更新保存按钮数据库。我怎样才能得到这个。任何想法

到目前为止,我使用下面的代码来获取它,但不知道一旦单击弹出窗口中的按钮,如何将值传递到数据库

注意:到目前为止,我没有在这里添加gridview代码,因为我想先用示例html实现它,然后用grid view实现它

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" />

你好,世界!


如何在单击弹出窗口中的“单击”按钮时调用db。我还需要向弹出窗口发送参数


提前感谢

您可以使用Ajax控件工具包,然后您应该寻找模式弹出扩展程序

这样,您可以将.net控件添加到覆盖/模式覆盖中,并在代码中获取值

有关更多信息,请参见此处

SP弹出窗口

如果需要确定、取消或提交与Sharepoint列表/库或sql数据库交互的弹出屏幕上的按钮事件,则需要在弹出窗口中实现该事件。检查以下步骤:-

  • 您的弹出页面应继承“Microsoft.SharePoint.WebControl.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);
    }
    
  • 从弹出窗口中的按钮操作调用此事件。例如:

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

  • 我同意,但我们的应用程序是sharepoint应用程序,希望使用模式弹出窗口,以便用户体验相同的sharepoint外观。无论如何,谢谢你。我已经为你添加了另一个链接。你之前被警告过,不要在没有透露你链接的网站是你的网站的情况下发布链接。此外,你似乎试图说这不是你的网站。我正在删除这个链接,不管怎么说,它似乎并不相关。在没有披露这是你的网站,并解释为什么它与回答所发布的问题直接相关的情况下,不要再添加它;不要在你的帖子中包含“签名”;您的用户框已用作您的签名。
    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;
      }
    }
    
    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) { }
    }