|
Hi Christian,
Thanks for the input. Kudos on your blog too!
So, I need to use the Page.PreLoad event and build my control there? Right now I'm building the table using data from my database, so if I did that during the page preload, wouldn't that overwrite the post back arguments? Or do I have that backwards? If I create the table during the preload, will the changes in the post back overwrite the results from the database? Sorry if it sounds like a 'you should already know this' type question. I've been reviewing the articles I've found online about the page lifecycle, but it still seems a little vauge to me.
Knowledge is not power, however, the acquisition and appropriate application of knowledge can make you a very powerful individual.
|
|
|
|
|
compninja25 wrote: So, I need to use the Page.PreLoad event and build my control there?
Init will be a good place for dynamic controls.
It looks like you are displaying tabular data. Why don't you try controls like GridView or DataGrid ? GridView has inbuilt checkbox support. In DataGrid , a checkbox can be added by using a template column. If you can do that, you don't need to worry about the viewstate issues.
|
|
|
|
|
Hi Navaneeth,
Indeed, it is tabular data. I've done what you are suggesting before with much larger amounts of data, but because in general the task at hand is only calling for 2 through 5 options to display to the user, I originally thought it would be quicker to just build a quick table and add the few rows. Anyhoo, I did consider using the data grid, but figured I'd like to look into trying to get the dynamic control working first as a way to learn more about the page life cycle and view state. Hopefully it will come in handy somewhere down the line!
Thanks again for your response!
Knowledge is not power, however, the acquisition and appropriate application of knowledge can make you a very powerful individual.
|
|
|
|
|
compninja25 wrote: So, I need to use the Page.PreLoad event and build my control there?
I believe that is correct.
compninja25 wrote: Right now I'm building the table using data from my database, so if I did that during the page preload, wouldn't that overwrite the post back arguments?
you do it precisely so that you can get your postback data. The control needs to exist in order for the system to populate it with data from postback. I'd expect if you want to put your own data in there, you'd do it in prerender, which is always the right place. But for viewstate to work, it needs to be created before page load.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Christian Graus wrote: compninja25 wrote:
So, I need to use the Page.PreLoad event and build my control there?
I believe that is correct.
Boss,
I have one small doubt over here, AFAIK , we need to create the control either Init or PreInit for maintaining the post back. Because Though, LoadViewState and Loadpostback Data Calls before Page_Load() , ASP.NET Creates a control hierarchy only at Init event, based on that the postback data and view state data maintains. So, How it would restore view state and postback data if we create control on Pre_Load() ?.
Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
|
|
|
|
|
Abhijit Jana wrote: we need to create the control either Init or PreInit for maintaining the post back
I guess whatever u said is correct its better to create dynamic controls on Init according to the Event Cycle.Control developers are mostly rely on this event.Otherwise we need to manually keep the View state.
|
|
|
|
|
Yes, But my question was different. We need to create those dynamic control over Init and Preinit() because of maintaining view state and load postback data. And In Init Event ASP.NET Create a control list to do all the operation during page life cycle.
Suppose you are creating one Dynamic Textbox on Page_Load and done some post back after changing some value of that textbox .As per the Page_Life Cycle goes, View State Data for the newly created text box has been saved because, SaveViewdata() calls after Pre_Render and Before Render() .
Its means My View State data has been saved but, now why that data would not restored ? Though my ViewState data has already saved and LoadView State Data is calling before Page_load. So it should restore the data. But It should not. Beacuse, the reason I have said. In Init() asp.net creats an Control Tree. If you create the control on/after Page_Load, they are not a member of that tree.
There is also some workaround for it.
Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
|
|
|
|
|
What if I need to create a GridView with dynamic template columns based on the user preference or search conditions?
The controls values cannot be accessed in Page_Init event. Therefore you cannot create dynamic controls in Page_Init event based on the values entered in controls such as Textboxe.
Also in Page_Init, if the current request is a postback, the postback data has not yet been loaded and control property values have not been restored to the values from view state.
But during load, if the current request is a postback, control properties are loaded with information recovered from view state and control state.
Therefore, Page Load is also good place to create dynamic controls.
|
|
|
|
|
Hello abhijit,
Thank you for your input. Do you have any suggestions regarding tutorials or white papers on the page life cycle? I've read through this one click here , but the whole concept is still quite foreign to me. I believe that's why I'm running into this problem; because I cannot yet visualize the 'flow' of the page.
Thanks!
Knowledge is not power, however, the acquisition and appropriate application of knowledge can make you a very powerful individual.
|
|
|
|
|
Hello,
I have an ASP.NET website with a SQL backend. I am using the ASP.NET membership provider model. The site can only be accessed by correct username and password. The login credentials for the website and OWA are identical.
I would like to pass the website login credentials directly to OWA so that OWA can be accessed directly from the webiste without having to re-enter username and password.
I am not certain how to securely pass the website credentials to OWA. I would greatly appreciate any assistance that you can provide.
I am slightly new to ASP.NET. If you need any additional information please let me know.
Thank you in advance for your help.
Allison
|
|
|
|
|
AFAIK you can't. One, OWA is on a different domain and the security credential from your ASP.NET app would mean nothing to OWA. Second, OWA is webased access to Exchange which uses Active Directory. So again, the credentials from your forms based authentication in your web app have no meaning to OWA. The only possibility you have is implementing a Single Sign On (SSO) framework.
only two letters away from being an asset
|
|
|
|
|
No Mark its possible. Even I have done this SSO with my ASP.NET Application with OWA. In my web application where user authenticated from AD and there was an link for Email Box with other staff. When user click on that link, I have done the SSO to directly logged in and moved user to OWA Inbox.
Note : I have done SSO with Exchange Server 2007.
Thanks
Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
|
|
|
|
|
Abhijit Jana wrote: Even I have done this SSO
Notice in my response "The only possibility you have is implementing a Single Sign On (SSO) framework."
only two letters away from being an asset
|
|
|
|
|
ahayw01 wrote: I would like to pass the website login credentials directly to OWA so that OWA can be accessed directly from the webiste without having to re-enter username and password.
You can do this !
Please let me know the following things,
1. Which version of Exchange Server you are using ? If it is 2007 then I can tell you what are the files need to modifed for SSO. There are only few JS that you need to modifed
2. Does all the used in same domain ?
3. Are you sure AD Password and SQL Server Password are same ? I am little bit confused over here, How any one can maintin the user authentication from AD as well as SQL Server also ? If AD is there, then used AD to authenticate the user for your appliction.
Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
|
|
|
|
|
I'm very interested on this topic.
Can you send me all info you can give me about SSO on owa 2007?
thank you very much
|
|
|
|
|
I am new to stored procedures. I want to know how to retrieve string values from stored procedures.
Like i created a website in which when user clicks a particular artists image then it's file location is
picked up from sql server. But im not getting way to retrieve from there through procedures.
-----stored procedure-------
create procedure arts
(@Artist nchar(50))
AS
return
(SELECT ret = Location from Artist_loc
where Artist = @Artist
)
in aspx.cs page-----------
string Artist = Request.QueryString["art"];
SqlConnection cn = new SqlConnection(@"Data Source=BLACK_RHYMES-PC\MSSMLBIZ;Initial Catalog=Muzik;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "dbo.arts";
cmd.Parameters.Add("@Artist",SqlDbType.NChar,50).Value = Artist;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cn;
i got struck after this what lines should i add to retrieve results.....
*THNX*
|
|
|
|
|
Use Output parameter
Create procedure arts
@Artist nchar(50),
@Ret NVARCHAR(40) OUTPUT
BEGIN
...
...
SET @Ret = yourresult...
END
From code write
SqlParameter oparam = new SqlParameter("@Ret", SqlDbType.NVarchar, 50);
oparam.Direction=ParameterDirection.Output;
cmd.Parameters.Add(oparam);
cmd.ExecuteNonQuery();
Now you will find the return statement in oparam.value . .
|
|
|
|
|
Create procedure arts
@Artist nchar(50),
@Ret NVARCHAR(40) OUTPUT
begin
set @ret = select Location from Artist_loc
where Artist = @Artist
end
it's giving error incorrect syntax near keyword 'select'
|
|
|
|
|
greendragons wrote: set @ret = select Location from Artist_loc
where Artist = @Artist
It should be
Select TOP 1 @ret = Location from Artist_loc where Artist= @Artist
SET will only be used when you initialize variable like
SET @x = 10
Hope you got the difference between the two.
|
|
|
|
|
Sry...still giving incorrect syntax near keword select
|
|
|
|
|
The code he gave you is correct. I suggest you buy a book on SQL, and ask SQL questions in the SQL forums.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
have you done like this ?
Create procedure arts
@Artist nchar(50),
@Ret NVARCHAR(40) OUTPUT
AS
begin
Select TOP 1 @ret = Location from Artist_loc
where Artist = @Artist
end
|
|
|
|
|
Hi,
I have an asp.net application on the local server. I had to make some changes to the code so i copied the website to my personal system and made the changes. I had to include mysql ado.net connector, as some retrieval needed to be done from mysql database.
I installed mysql ado.net connector on my pc but haven't installed it on the server. Because of this , the asp.net site when deployed to server throws an error of an unrecognized assembly.
Though , the solution is to install ado.net connector on the server... but i want to know if there is another way in which i only copy the dll file and it works (as is the case with windows application where dlls reside in bin folder)...
Thanx in advance
|
|
|
|
|
I would expect that putting the dll in the bin directory is all you would need to do. Installing it probably puts it in the GAC, but I don't know why that would be necessary.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|