|
I have some controls (placeholders) that I'm trying hide/show, and a button that I want to enable/disable when the button is clicked, but none of that stuff is happening. What am I not doing?
I'm doing this (both panels are hidden by default, and the button is enabled by default:
protected void buttonRetrieveData_OnClick(object sender, EventArgs e)
{
this.WaitPanel.Visible = true;
this.OutputPanel.Visible = false;
this.buttonRetrieveData.Enabled = false;
try
{
blah blah blah...
}
catch (Exception ex)
{
if (ex != null) { }
}
finally
{
this.WaitPanel.Visible = false;
this.OutputPanel.Visible = true;
this.buttonRetrieveData.Enabled = true;
}
}
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Does the code run (is the event being fired?)
Is the button RetrieveData in an Ajax Update panel?
|
|
|
|
|
Eduard Keilholz wrote: Does the code run (is the event being fired?)
Yes, it does. I even tried putting the code (that doesn't work) into the Page_Load method thinking maybe it should go there instead, but that had no effect.
Eduard Keilholz wrote: Is the button RetrieveData in an Ajax Update panel?
No. The panels are PlaceHolder controls.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: this.WaitPanel.Visible = true;
this.OutputPanel.Visible = false;
this.buttonRetrieveData.Enabled = false;
John Simmons / outlaw programmer wrote: this.WaitPanel.Visible = false;
this.OutputPanel.Visible = true;
this.buttonRetrieveData.Enabled = true;
Aren't these contradictory? Whatever the case maybe, end result will be what is there in finally block. Isn't it?
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
The intent is that when the button is clicked, the wait panel is displayed, the output panel is hidden, and the button that fired the event is disabled. When the process is finished, the wait panel is hidden, the output panel is displayed, and the button is re-enabled.
The finally block merely ensures that the controls are returned to the desired state, no matter what happens in the try block.
I don't see how the code I posted is contradictory.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: I don't see how the code I posted is contradictory
I was thinking the other way. After the event the result will always be the same.
I don't think it will work (not among the even decent ASP.Net guys so may be wrong). Since the page will not be rendered during the phase where event is getting executed. I would rather employ a javascript function which make the panels visible/hidden before the server side event is fired and then in the event hide them.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
Well, I did try moving the first block into the Page_Load method, but that didn't help at all...
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
That will not help. In fact if it is a full postback, nothing will. Since during the event is during executed, the page will not be rendered in the browser.
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
The process that is contained in the button event is fairly long, and I was considering moving it into a thread, which would be responsible for changing the controls back upon completion. Maybe that's ultimately the answer...
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
I assume you would have, but still I would suggest. Have you thought about having that button in a update panel and and using update panel animator? It would give a better look.
(Here I am assuming that WaitPanel must be something like those loading/working kind gifs)
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
d@nish wrote: Have you thought about having that button in a update panel and and using update panel animator? It would give a better look.
I don't know what that is...
d@nish wrote: (Here I am assuming that WaitPanel must be something like those loading/working kind gifs)
Yeah, it is.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
This[^] should help. And this[^] link for UpdateProgress control (sorry for incorrect control name in earlier post).
50-50-90 rule: Anytime I have a 50-50 chance of getting something right, there's a 90% probability I'll get it wrong...!!
|
|
|
|
|
This is what impossible.
In case of client server env, everytime you request the server, you are actually posting the form with all its data to the server, and until the server processes it and returns it back, you will see a blank screen(If not using AJAX).
So, it will not show you the panels.
What you need to do, is you call the server using AJAX call, and use some javascript to show the panel in the client side.
Panels are rendered as div.
So, design the panel in server side, if you wish... (I would have dynamically created the div using Javascript), use Js to handle like this :
var panel = document.getElementById('<%=this.WaitPanel.ClientId %>');
panel.style.display = 'block'; //To hide the panel..
and to hide it again
panel.style.display = 'none';
Dont use serverside visible property, as otherwise the html will not be sent to the client.
|
|
|
|
|
k
===========================
http://www.nitinsawant.com
===========================
|
|
|
|
|
Fix your user ID. It's displaying HTML and borking up the forum presentation.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Forgive me if I'm wrong, but, as per your sequence, the code in the finally block is getting executed in all cases, which as far as I know, is the way it is supposed to work. I don't see any reason why the code that you have highlighted should not get executed!?
|
|
|
|
|
Dinesh Mani wrote: the code in the finally block is getting executed in all cases, which as far as I know, is the way it is supposed to work.
You are correct. The code in the finally block will get executed no matter what happens above it.
Dinesh Mani wrote: I don't see any reason why the code that you have highlighted should not get executed!?
I don't either, hence my question - why doesn't it work?
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
I'm not an expect in Ajax programming, but wouldn't the flush happen only after the event execution is completed? So, in effect, the working of the first section would not be visible but would have happened.
I'm not sure on this, as said above I'm not an ajax expert either.
|
|
|
|
|
This isn't Ajax...
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Then I don't think you can achieve this using server code. You need to hide/disable the controls using client script do the processing using server code show/enable the controls again using client script.
|
|
|
|
|
I ended up using ajax, and it's working as desired.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
|
Hi All,
I have created a windows based Hotel Management Application software in VS 2005 .NET (VB .NET) with SQL server 2005 Express as database. Now I have to upgrade this to a centralize server based application. There are 4 hotels located in different places. The application should run on all the 4 PCs and the SQL database will be centralized. i.e. Updates from the database will be available to all the 4 PCs so that user on these respective PCs can see what is the present state of any room, e.g., vaccant or occupied.
For this I need some information from You all for following:
1) Do I need to build an ASP.NET based application for this? I mean, will it be like a website, which is accessible to all the 4 PCs having internet connection?
2) Any other way to create this application, as I already created this as windows based in VB .NET ?
3) How to create the centralize SQL database?
Overall I want to know like, what are the steps involved to create such kind of applications and their requirement?
Any links/suggestions/references/tutorials is appriciated.
Thanks
Raja S.
|
|
|
|
|
You don't have to rebuild your application into a web based application. If you have already defined placed business logic and presentations classes separately, then just put a web service wrapper around your business logic and use your existing Windows Forms UI to consume the service.
If not, then you will have to separate your business logic [BL] and data access[DA] code from the presentation [PL] code. Ensure that all data access from PL is done only through your BL, via DA. Now expose the BL as webservice.
Creating a central database repository is something your DBA should be taking care of. If your existing DB is capable of handling data from all locations, then just hand them your existing DB scripts. Else, make necessary changes to your DB and pass on the script.
|
|
|
|
|
Hi,
I didnot get Your idea. I am just looking for a tutorial to build such kind of application.
|
|
|
|