C# - Persisting Html Control Content With Runat Server Tag
Jan 11, 2011
I have this problem - I'm working on an ASP.NET AJAX-application on a server without .net 3.5 which means I can't use ListView (BOO!).
I decided to simply do the ugly way of making a table and giving the tbody an ID and a runat server tag, and put HtmlControls inside from the codebehind (btw - this is a usercontrol, in case it makes a difference).
This all works fine - until the page does a partial postback - and all the elements disappear, since the tag is runat server I assume it requires to be repopulated in the page load.
Is there no way to actually persist the data on partial postback? And only have the content of the control change when I say so in the back end?
I guess I could save the content in a session object upon populating the control, and just repopulate in the Page_Load with the session object - but I was hoping there was a better way to do this?
I want to know differences between ASP.Net WebControls and Html Controls (with runat="server" attribute).
I also want to know the possible scenarios where I have to (or want to) prefer Html Controls (with runat=server) in place of asp.net server controls?
In case of some good articles on web, do forward me. But dont forward me the links with differences between webcontrols and html controls, because my question intended for runat="server" attribute.
I'm new to .net, and I've noticed that when viewing my HTML source code generated by a .net application the carriage returns are removed from the head tag when it has runat="server" attribute on it.
I remove the runat="server" and the returns... return.
This really looks nasty when you have a few javascript and css files in your header because it ends up making the entire contents of the head tag 1 big line.
Just wondering if there's a way to control this or tell .net through configuration not to mangle the output?
I have a span control which I am filling using Jquery. At the page load I want this span say id1 to be invisible and depending on some conditions I am making it visible via jquery itself.
When I make id1 runat = server and try to access id1 from codebehing, then I get an error in Jquery.
Hence I need a way to make id1 invisble at the load time itself.
I have already set id1 = invisble in HTML, But still I see this control on the page till the time jquery fills the entire data.
I am facing one asp.net server side issue using vb.net the problem is i declared one html input hidden field in my page, the name is hidden1. but when i going to call that name into server side code, that time i got the below error, <b>Name "Hidden1" is not declared</b> Code below:
ASP.Net seems to want to rewrite the path to point to the absolute location. For example, If the control is on [URL] the link href will be rewritten to read
Why does Asp.Net rewrite these control paths, and is there an elegant way to fix it?
I just want the anchor control to spit out exactly what I tell it to!!! Is that so hard?
EDIT:
I've basically done what Kelsey suggested. I knew I could do it this way, but I don't like adding markup in my code when I want something relatively simple. At least it solves the problem:
As you can see by the amount of code needed for what is essentially supposed to be be a simple and light-weight anchor, it's not the most optimal solution. I know I could use a Literal but I figured this was cleaner as I'm adding more than one anchor.
1. when saving content to sql server which dataype do I use?
2. Since they changed this site, I am unable to find access the videos. there was a video about custom editor control, but it was in VB and I need the code in C# does anyone know how to access the videos and sample code on this site anymore?
how to make a control that can have controls nested inside it. I've made a jQuery tab browser class which uses a hidden field to remember which tab is selected and create the relevant client script to re-select it on postback...it works fine...
This is for web part development so all controls are created dynamically.
The problem is when I add a control to one of the tabs, the values set in that control disappear on postback..I understand there is a lot of information about user controls, viewstate and control state but nothing seems to give me access to those values...
I've boiled it right down to the basics and still can't get it to work unless the custom control has all its controls added in OnInit...which is bad news for me because I need to instantiate the browser, the use a 'AddTab' method to add tabs and controls to them, which occurs after the OnInit event and therefore I can't access the postback values!!
I get the feeling I'm missing something big here, I must be lol...here's is an example:
[Code]....
These controls have to be dynamically created, so I didn't see the need to make the ascx user controls..
Its simple if I have an ASP.net page with an ASP.net linkbutton / hyperlink and I obtain a value from say a SQL Database and I store it in the label...
This is simple because it goes right to the code behind page and set the text value to the value returned from my database (aside from going into more details with data access layer, etc).
What I was wondering is what if I dont want to use an ASP.net linkbutton and I simply want to use an HTML link button (as I need to call the jquery fade function). How would I set the value someValueReturnedFromADatabase to a control that is not runat=server?
When a form with a run at server is added there will be two forms with runat server and another error occurs.The details of the error are as follows.Control 'ctl00_TextBox1' of type 'TextBox' must be placed inside a form tag with runat=server.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Control 'ctl00_TextBox1' of type 'TextBox' must be placed inside a form tag with runat=server.
Source Error:An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace: [HttpException (0x80004005): Control 'ctl00_TextBox1' of type 'TextBox' must be placed inside a form tag with runat=server.] System.Web.UI.Page.VerifyRenderingInServerForm(Control control) +2052287
Version Information: Microsoft .NET Framework Version:2.0.50727.1873; ASP.NET Version:2.0.50727.1433
I get some URL from a XML feed. Now the question is how do I get a specific data from each page represented by those URLs. For example if I have a URL: [URL] in the feed data and on that page there is a table like this:
[code]...
Now the question is how do I get the content of the span which has the class "summary" and which is the child of the having a class name "snip". We do have to decode emove the encoded html contained by the span.
I have a control (say, a DataGrid or a ComboBox) which is a child of a user control. I want to DataBind it on every request, rather than have it's state persist through ViewState. I need to leave EnableViewState=true however. This means, I think, that I need to call DataBind before TrackViewState() is called.
I read the fantastic blog post TRULY Understanding ViewState and it answers my question in 4. Initializing child controls programmatically. However, the article's solutions are less-than-ideal: create child controls dynamically (I'm not and can't -- too much existing code), use a 3rd party CodeExpressionBuilder (would much prefer this was in code-behind), and use OnPreInit (which "doesn't help you what-so-ever if you are developing a CONTROL").
I added a Input (Text) control in my web form and turned it into an HTML server control so its an instance of HtmlInputText class.
If I double click on the control It only adds a OnClick event handler method inside the script tags in the HTML doc of the web form but how to I get to handle its Serverchange event exactly? does VS.net 2008 has no ability to auto wire up the event to the control, do I have to manually wire up the event handler?
how i persist the selected date of calendar control on Postback iam displaying Dates from database in to Calendar control and when page postback then nothing is heppening . How i persist the selected dates on Postback may i have to use Session or some thing like that?