How to Programmatically Show or Hide a Modal Popup Dialog with Server Side Code in Share Point 2013

Ashok Raja
 
Solutions Architect
August 10, 2013
 
Rate this article
 
Views
1827

This article shows you how to programmatically show, hide and pass value from a SharePoint 2013 popup modal dialog with server side code.

C# Code snippet for showing a popup / Modal dialog in SharePoint 2013

 protected void btnShowPopUp_Click(object sender, EventArgs e)
 {
 	// Perform your Server Side Operations Here
 	ShowBasicDialog("PopUp.aspx", "Basic PopUp From Server Side");
 }
 
 private void ShowBasicDialog(string Url, string Title)
 {
 	StringBuilder sb = new StringBuilder();
 	sb.AppendLine(@"<script type=""text/ecmascript"" language=""ecmascript"">");
 	sb.AppendLine(@"ExecuteOrDelayUntilScriptLoaded(openBasicServerDialog, ""sp.js"");");
 	sb.AppendLine(@"    function openBasicServerDialog()");
 	sb.AppendLine(@"    {");
 	sb.AppendLine(@"        var options = {");
 	sb.AppendLine(string.Format( @"            url: '{0}',",Url));
 	sb.AppendLine(string.Format( @"            title: '{0}'",Title));
 	sb.AppendLine(@"        };");
 	sb.AppendLine(@"        SP.UI.ModalDialog.showModalDialog(options);");
 	sb.AppendLine(@"    }");
 	sb.AppendLine(@"</script>");
 	ltScriptLoader.Text = sb.ToString();
 }

C# code to hide a Popup modal dialog

 private void ClosePopUpFromServerSide()
 {
 	ltScript.Text = @"<script type='text/javascript'>window.frameElement.commitPopup();</script>"; 
 }
 protected void btnOk1_Click(object sender, EventArgs e)
 {
 	// Perform your server side operations here 
 	ClosePopUpFromServerSide();
 }

C# code to pass value from Popup to base page

 protected void btnOk2_Click(object sender, EventArgs e)
 {
 	// Perform your server side operations here 
 	System.Collections.Generic.List<string> Data = new System.Collections.Generic.List<string>();
 	Data.Add(txtData1.Text);
 	Data.Add(txtData2.Text);
 	PassDataFromServerSide(Data.ToArray());
 }
 
 private void PassDataFromServerSide(string[] Data)
 {
 	string PopStr = @"<script type='text/javascript'>window.frameElement.commitPopup([DATA]);</script>"; 
 	StringBuilder sb = new StringBuilder();
 	if (Data.Length > 0)
 	{
 		sb.Append(@"new Array(");
 		for (int i = 0; i < Data.Length; i++)
 		{
 			sb.AppendLine(string.Format(@"'{1}'{2}", i, Data[i], i == Data.Length - 1 ? "" : ","));
 		}
 		sb.Append(@")");
 	}
 	ltScript.Text = PopStr.Replace("[DATA]", sb.ToString());
 }
Category : Tips

Author Info

Ashok Raja
 
Solutions Architect
 
Rate this article
 
I am Ashok Raja, Share Point Consultant and Architect based out of Chennai, India. ...read more
 

Leave a comment