在单击按钮时显示新的列表元素表单

本文关键字:列表元素 表单 显示 单击 按钮 | 更新日期: 2023-09-27 18:05:14

有人知道如何显示新的列表元素表单上的按钮点击,我有我的自定义aspx页面?就像当你有一个sharepoint列表,你点击"添加项目",一个新的元素表单在一个新的对话框窗口中加载?当我点击按钮时,我需要同样的事情发生。我知道如何在Sharepoint Designer中做到这一点,但我需要在visual studio中以编程方式做到这一点。我想Javascript一定以某种方式参与其中,我对它很糟糕。提前感谢!

还有一个问题-你知道一种方法来刷新原始页面,有按钮的那个,在关闭对话框窗口?场景如下:

  1. 我按下按钮,
  2. 打开对话框窗口,
  3. 我添加一个元素到Sharepoint列表通过它,
  4. 我关闭对话框窗口,
  5. 我需要刷新原始页面,所以它重新填充
    下拉列表,并将此新列表项的标题添加到其中。

在单击按钮时显示新的列表元素表单

实现的javascript代码随您使用的列表类型(任务,文档库等)而变化。

要打开Sharepoint对话框窗口,可以使用以下javascript代码:

var options = {
  url: '<url to the add item page>',
  title: '<Title of your Dialog>'
}; 
// add an event handler for the dialog closed callback
options.dialogReturnValueCallback = Function.createDelegate(null, portal_modalDialogClosedCallback);
void(SP.UI.ModalDialog.showModalDialog(options))
function portal_modalDialogClosedCallback(result, value) {
    if(result === SP.UI.DialogResult.OK) { 
        //alert("OK was clicked");
    } 
    if(result === SP.UI.DialogResult.cancel) { 
        //alert("CANCEL was clicked");
    }
    window.frameElement.commitPopup(); // this will cause the list to refresh after the dialog closes
    // note: the above line only refreshes the List (which is the default Sharepoint OOB behavior anyway), to refresh the whole page use window.location.reload(); instead
}

上面实际使用的URL随列表类型的不同而不同。一些例子:

  • 基于文档库的:[url to your list, e.g. /Lists/MyList]/Forms/Upload.aspx
  • 公告:[url to your list]/NewForm.aspx
  • Tasks: [url to your list]/NewForm.aspx

希望能有所帮助

看看AjaxControlToolkit,特别是ModalPopupExtender

您将使用模态对话框框架和JS客户端对象模型。