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

时间:2011-08-12 07:20:09

标签: c# asp.net sharepoint

有没有人知道如何在按钮点击时显示新的列表元素表单,我在自定义的aspx页面上有?就像你有一个sharepoint列表并点击“添加项目”并在新的对话窗口中加载一个新的元素表单一样?当我点击我的按钮时,我需要做同样的事情。我知道如何在Sharepoint Designer中做到这一点,但我需要在visual studio中以编程方式完成。我认为Javascript必须以某种方式参与其中,我对它很可怕。提前做出来的!

还有一个问题 - 在关闭对话框窗口时,您是否知道刷新原始页面的方法,即具有按钮的页面? 这是场景:

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

3 个答案:

答案 0 :(得分:2)

要实现的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 to your list, e.g. /Lists/MyList]/Forms/Upload.aspx
  • 公告:[url to your list]/NewForm.aspx
  • 任务:[url to your list]/NewForm.aspx

希望这有帮助

答案 1 :(得分:1)

查看AjaxControlToolkit,尤其是ModalPopupExtender

答案 2 :(得分:1)

您将使用Modal Dialog Framework和JS客户端对象模型。