CHUVASH.eu

CHunky Universe of Vigourous Astonishing SHarepoint :)

Tag Archives: postback

Reload page in js: RefreshPage

There are many ways to reload / refresh a page in javascript. One of them is as in discoveringsharepoint.wordpress.com describes:

window.location.reload()

Today I found some tools which are shipped with ASP.NET/SharePoint to reload a page. The big advantage of them they are designed to work with SharePoint and take all possible aspects of page life cycle into account. The javascript function to refresh a page is just called, guess..: RefreshPage and it resides in init.js:

//init.js:
function RefreshPageTo(evt, url, bForceSubmit) {ULSA13:;
	CoreInvoke('_RefreshPageTo', evt, url, bForceSubmit);
}

It takes at least one parameter, the dialogResult: 1, 0 or -1 which are SP.UI.DialogResult.OK or SP.UI.DialogResult.cancel or SP.UI.DialogResult.invalid.

The only thing it does is to invoke a function from core.js:

//core.js:
function _RefreshPageTo(evt, url, bForceSubmit)
{ULSrLq:;
	return _SubmitFormPost(url, bForceSubmit);
}

The _RefreshPage function from core.js validates the data and invokes _SubmitFormPost:

In the end it gets the main form (“aspnetForm”) and invokes submit on it:

document.forms[MSOWebPartPageFormName].submit()

Undvika postback i button

Äntligen har jag kommit på hur man kan skippa oönskad postback i button. Det finns många olika lösningar. Här är ett intressant inlägg på stackoverflow om det. Men det enklaste sättet är egentligen bara lägga till

return false;

i onclick…

Här är lösningen

using System.Web.UI.HtmlControls;
...
HtmlButton HtmlButtonSendMail;
protected override void CreateChildControls() 
{
...
#region Configure Send Email
     HtmlButtonSendMail = new HtmlButton();
     HtmlButtonSendMail.InnerText = "Send Email";
     HtmlButtonSendMail.ID = "HtmlButtonSendMail";
     string script = "";
     script += "SP.UI.Notify.addNotification('Loading..', false);";
     script += "var options = {";
     script += "  url: \"../_layouts/Toolbox/SendMail.aspx\",";
     script += "  width: 800,";
     script += "  height: 680,";
     script += "  allowMaximize: false";
     script += "};";
     script += "SP.UI.ModalDialog.showModalDialog(options);";
     script += "return false;";
     HtmlButtonSendMail.Attributes.Add("onclick", script);
     HtmlButtonSendMail.Attributes.Add("title", 
               "Skicka mail till\r\nde här personerna");
     Controls.Add(HtmlButtonSendMail);                
#endregion
...
}
...
protected override void Render(HtmlTextWriter writer)
{
    ...
    writer.RenderBeginTag(HtmlTextWriterTag.Div);
    HtmlButtonSendMail.RenderControl(writer);
    writer.RenderEndTag();//div    
    ...
}
... other javascript stuff needed to work with your ajax solution
Вула Чăвашла

VulaCV - Чăвашла вулаттаракан сайт

Discovering SharePoint

And going crazy doing it

Bram de Jager - Architect, Speaker, Author

Microsoft 365, SharePoint and Azure

SharePoint Dragons

Nikander & Margriet on SharePoint

Mai Omar Desouki

PFE @ Microsoft

Cameron Dwyer

Office 365, SharePoint, Azure, OnePlace Solutions & Life's Other Little Wonders

paul.tavares

Me and My doings!

Share SharePoint Points !

By Mohit Vashishtha

Jimmy Janlén "Den Scrummande Konsulten"

Erfarenheter, synpunkter och raljerande om Scrum från Jimmy Janlén

Aryan Nava

DevOps, Cloud and Blockchain Consultant

SPJoel

SharePoint for everyone

SharePointRyan

Ryan Dennis is a SharePoint Solution Architect with a passion for SharePoint and PowerShell

SharePoint 2020

The Vision for a Future of Clarity

Aharoni in Unicode

Treacle tarts for great justice

... And All That JS

JavaScript, Web Apps and SharePoint

blksthl

Mostly what I know and share about...

SharePointDiver

SharePoint på ren svenska