does anyone know how to show the new list element form on button click, that I have on my custom aspx page? Like when you have a sharepoint list and you click on "add item" and a new element form loads up in a new dialog window? I need the same thing to happen when I click on my button. I know how to do that in Sharepoint Designer, but I need to do it programmatically in visual studio. I assume Javascript must be involved in some way and I am terrible with it. Thaks in advance!
One more question - do you know of a way to refresh the original page, the one that has the button, upon closing of the dialog window? Here is the scenario:
- I press the button,
- it opens the dialog window,
- I add an element to a Sharepoint list via it,
- I close the dialog window,
- I need the original page r开发者_C百科efreshed, so it repopulates the DropDownList and adds the title of this new list item to it.
The javascript code to achieve that varies with the type of list you are using (Tasks, document library, etc).
To open a Sharepoint dialog window you can use the following 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
}
The actual URL to use above varies with the type of list. Some examples:
- Document Library-based:
[url to your list, e.g. /Lists/MyList]/Forms/Upload.aspx
- Announcements:
[url to your list]/NewForm.aspx
- Tasks:
[url to your list]/NewForm.aspx
Hope this helps
Take a look at the AjaxControlToolkit
, especially ModalPopupExtender
You'll have the use the Modal Dialog Framework and the JS client object model.
精彩评论