popup on Button Click and running server-side button_Click() code?

G

Guest

I have a LinkButton_search on my Page1.aspx that opens up a popup page called
popup.aspx. I do this with LinkButton.Attributes.Add() on the Page_Load of
Page1.aspx.
How can I add server-side code to LinkButton_search_Click() so that the code
in there runs before opening the popup window? The problem is that I fill a
Session variable when I click on the button that will then be used in the
Page_Load of my Popup window. So basically this is what I want:
1) Add the "onclick" Attribute to the LinkButton (so it's a popup window)
2) Run the LinkButton_search_Click(object sender, EventArgs e) to fill the
Session variable
3) Open popup.aspx as a popup window and in its Page_Load() use the Session
variable that was filled in step 2.

Any help is appreciated.
Thanks
 
G

Guest

What you can do is -

Write your Server side script on the clicked event. Also, build your
javascript function in a string variable and then use the
RegisterClientScript functionality to register and run the client script. You
can google for RegisterClientScript and you should be able to get some
examples for that.
 
G

Guest

Howdy,

Quick example:

-- BEGIN SEARCH PAGE --

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LinkButton runat="server" ID="SearchButton" Text="Search"
OnClick="SearchButton_Click"/>
</div>
</form>
</body>
</html>

//code behind

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class SearchPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void SearchButton_Click(object sender, EventArgs e)
{
DateTime date = DateTime.Now;
Session["SearchVariable"] = date;

Response.Write(date);

RegisterPopupScript();
}

/// <summary>
///
/// </summary>
private void RegisterPopupScript()
{
Type type = this.GetType();

if (ClientScript.IsStartupScriptRegistered(type, "PopupScript"))
return;

System.Text.StringBuilder script = new System.Text.StringBuilder();

script.Append("<script language=\"javascript\"
type=\"text/javascript\">\n");
script.Append("//<!--\n");
script.Append("window.open('popup.aspx', '_blank',
'width=400,height=400');");
script.Append("//-->\n");
script.Append("</script>");

ClientScript.RegisterStartupScript(type, "PopupScript", script.ToString());

}
}


-- END SEARCH PAGE --

-- BEGIN POPUP PAGE --

// place label with ID="SearchResult"


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class popup : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
SearchResult.Text = Convert.ToString(Session["SearchVariable"]);
}
}
-- END POPUP PAGE --

--

Hope this helps

Milosz Skalecki
MCP, MCAD
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top