By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,289 Members | 1,337 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,289 IT Pros & Developers. It's quick & easy.

Is it possible to call a method defined in AnotherPage.aspx.cs?

P: n/a
I know that we can re-use/share code by placing the code in App_Code.

But, is it possible for MyPage.aspx.cs to call a method defined in
AnotherPage.aspx.cs?

Suppose, in AnotherPage.aspx.cs, we define a method which binds a
DropDownList to a database table. Let's call the method
BindDropDownList().

In MyPage.aspx, we are gonna use the same DropDownList. Is it
possible, in MyPage.aspx.cs, to simply instantiate AnotherPage and
call BindDropDownList()? Something like

// This is MyPage.aspx.cs
AnotherPage anotherPage = new AnotherPage();
anotherPage.BindDropDownList();

Does this sound whimsical?

I guess the answer is Nope, and we better write a generick-ish
BindDropDownList and stick it in a class under App_Code, right?

Oct 25 '07 #1
Share this Question
Share on Google+
8 Replies


P: n/a
"gnewsgroup" <gn********@gmail.comwrote in message
news:11**********************@v3g2000hsg.googlegro ups.com...
In MyPage.aspx, we are gonna use the same DropDownList.
Sounds like a perfect candidate for a UserControl...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 25 '07 #2

P: n/a
On Oct 25, 3:23 pm, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
"gnewsgroup" <gnewsgr...@gmail.comwrote in message

news:11**********************@v3g2000hsg.googlegro ups.com...
In MyPage.aspx, we are gonna use the same DropDownList.

Sounds like a perfect candidate for a UserControl...

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net
Thanks, that must be the solution. I find it hard to pass variables
amongst user controls, though.

Oct 25 '07 #3

P: n/a
"gnewsgroup" <gn********@gmail.comwrote in message
news:11**********************@k79g2000hse.googlegr oups.com...
In MyPage.aspx, we are gonna use the same DropDownList.

Sounds like a perfect candidate for a UserControl...

Thanks, that must be the solution. I find it hard to pass variables
amongst user controls, though.
Just use public properties...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 25 '07 #4

P: n/a
On Oct 25, 3:49 pm, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
"gnewsgroup" <gnewsgr...@gmail.comwrote in message

news:11**********************@k79g2000hse.googlegr oups.com...
In MyPage.aspx, we are gonna use the same DropDownList.
Sounds like a perfect candidate for a UserControl...
Thanks, that must be the solution. I find it hard to pass variables
amongst user controls, though.

Just use public properties...

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net
I've tried out your idea, and it was successful. That's great, but,
what about event-raising and event-consuming amongst user controls?

Say, I want user control A to respond to a click event of user control
B. Public properties won't do the trick, right?

Oct 26 '07 #5

P: n/a
"gnewsgroup" <gn********@gmail.comwrote in message
news:11**********************@19g2000hsx.googlegro ups.com...
I've tried out your idea, and it was successful. That's great, but,
what about event-raising and event-consuming amongst user controls?

Say, I want user control A to respond to a click event of user control
B. Public properties won't do the trick, right?
Ah yes - for that, you need delegates:
http://www.netomatix.com/development/usercontrols3.aspx
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 26 '07 #6

P: n/a
On Oct 26, 11:23 am, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
"gnewsgroup" <gnewsgr...@gmail.comwrote in message

news:11**********************@19g2000hsx.googlegro ups.com...
I've tried out your idea, and it was successful. That's great, but,
what about event-raising and event-consuming amongst user controls?
Say, I want user control A to respond to a click event of user control
B. Public properties won't do the trick, right?

Ah yes - for that, you need delegates:http://www.netomatix.com/development/usercontrols3.aspx

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net
Fantastic. I did write a user control which has a GridView. This
GridView gets populated with customer names retrieved from the
database. The customer names in the GridView are made to be
LinkButtons (in template fields). When such a LinkButton'ed name is
clicked, I want to send the name as a string to the parent control.

Let's call this user control SearchCustomers.ascx.

I followed the example you gave in the link above, and successfully
made the whole thing happen, which kinda excited me. Thank you.

But, I do not want to show SearchCustomers user control in the parent
page until a button is clicked in the parent page.

I have written a Visible property in SearchCustomers.ascx.cs, like so:

private bool visible;

protected void Page_Load(object sender, EventArgs e)
{
if (this.visible)
{
Panel1.Visible = true; // Pane1 holds the GridView.
}
else
{
Panel1.Visible = false;
}
}

public bool Visible
{
get
{
return this.visible;
}
set
{
this.visible = value;
}
}

In ParentPage.aspx's Page_Load, if I say

SearchCustomers1.Visible = true;

This control does show up nicely, but if I attempt to set the Visible
property in the button click event handler like so:

protected void btnSearchCustomers_Click(object s, EventArgs e)
{
SearchCustomers1.Visible = true;
}

The SearchCustomers1 user control does not show up. I kinda suspect
that it is because it has passed the Page_Load event, so the control
cannot be rendered. In any case, how do I show/hide a user control
dynamically? Somehow, I guess this user control has to be recreated /
reloaded, but what do I need to do?

Thank you again if you could share your wisdom.

Oct 26 '07 #7

P: n/a
"gnewsgroup" <gn********@gmail.comwrote in message
news:11**********************@d55g2000hsg.googlegr oups.com...
The SearchCustomers1 user control does not show up. I kinda suspect
that it is because it has passed the Page_Load event, so the control
cannot be rendered. In any case, how do I show/hide a user control
dynamically? Somehow, I guess this user control has to be recreated /
reloaded, but what do I need to do?
I suspsect you're right.

It's a little difficult to tell without the rest of the app around the above
code, but I'd start by setting a breakpoint at the beginning line of each
method, and watching the Visible property. Remember that when you set a
control's Visible property to false server-side, it doesn't hide the
control - it actually doesn't render it at all, so it never gets streamed
down to the browser...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 26 '07 #8

P: n/a
On Oct 26, 2:31 pm, "Mark Rae [MVP]" <m...@markNOSPAMrae.netwrote:
"gnewsgroup" <gnewsgr...@gmail.comwrote in message

news:11**********************@d55g2000hsg.googlegr oups.com...
The SearchCustomers1 user control does not show up. I kinda suspect
that it is because it has passed the Page_Load event, so the control
cannot be rendered. In any case, how do I show/hide a user control
dynamically? Somehow, I guess this user control has to be recreated /
reloaded, but what do I need to do?

I suspsect you're right.

It's a little difficult to tell without the rest of the app around the above
code, but I'd start by setting a breakpoint at the beginning line of each
method, and watching the Visible property. Remember that when you set a
control's Visible property to false server-side, it doesn't hide the
control - it actually doesn't render it at all, so it never gets streamed
down to the browser...

--
Mark Rae
ASP.NET MVPhttp://www.markrae.net
Thank you. I only recently realized that setting Visible to false
server-side will cause the server not to render it.

Well, the trick is to put SearchCustomser1 on a Panel, and then show/
hide the panel instead.

Oct 26 '07 #9

This discussion thread is closed

Replies have been disabled for this discussion.