MVC :: Object Properties Get Lost While Posting When Using Hidden Fields In View?
Jun 30, 2010
I am using hidden fields to save some preset data, but upon postback they appear to disappear.
Here's what my controller actions look like:
[Code]....
The view is coded like this:
[Code]....
But when the POST action receives the object back, some of the fields have become null. The FormCollection, however, contains all values. I realize I could just take everything from the formcollection but it's probably better practice to use the object, right?
The problem is that enum property fields are not show.
Is there any way to show enum property fields in details view ?
I put some example code below (I do not specify any rows mappings, they are generated dynamically because different kind of objects are bound to details view):
I have a 3rd party server side control that generates JavaScript and I'd like to see what methods and properties it exposes.Currently I just type in an invalid function like asdf123() so VS will break and I can add a watch to the variable, but there are a ton of methods and I don't know what I'm looking for (I'm trying to make the control do something undocumented).
I'm working on a mvc project that builts a table of items and each row has a button to submit that row to the controller. Now each button has an id and I use hidden input to store the data in that column. How do I post the id to the controller? I use Html.beginform() at the beginning and a submit button. I want the ID to appear in the URL so I can extract the data based on that.
Also I can see that my values are posted but they don't show up in the query string. How do I get these values in the controller? The code is like this. [Code]....
I have a hiddenfield, which I want to save the scroll position of asp.panel scrollbar during postback, and when during postback this value is called back to set the scroll position.
Using javascript I can grab the value from the scrollbar, and assign it to the hidden field, but when I post the page back the value has gone.
Here is my code snippet: <script type="text/javascript" language="javascript"> function SetScroll(val) { [code].....Am I missing something? How do I keep the value during post back?
I am working on an ASP.NET application (well supposed to be deploying it about 3 days ago) and my hidden fields are loosing value when the form gets posted back..
I am using them to store information i write using javascript and on my own machine this works fine but as soon as i deploy it on our server everything else works except these values are lost..
I am using the .NET AJAX control toolkit on the same page and have noticed my calander datepicker also looses the data..
I have checked using firebug and the data is definitely getting post to the server but is getting lost somewhere!
I have a problem posting xml Data using HttpWebRequest..
The server returns Internal error..
I want to simulate a simple Form with Method=Post. The form have three fields. Two for credentials and the third one for Posting XML. Here is the sample HTML which i want to simulate using HttpWebRequest..
I have a some problem while Posting xml data Using HttpWebRequest. Actually I want to Post 3 Form variables
2 of them are for credential and the third one is for XML data to an api, The api will authenticate and will process the xml data, and will return success if no error found.
Here is what there documentation says.
The data will be passed to the gateway via an HTTPS FORM post and a string value of "success" will be returned upon successful receipt of the data. Three total FORM variables will be posted, two of which will contain credentials, and the third will contain the HR-XML data. A string value of "error" will be returned if the posting fails for any reason.
Form Fields integration_field1 = 1234, integration_field2=2345pwd, hrxml=form field containing the HR-XML order (string)
In my ASP.NET MVC 2 web application, I allow users to create custom input fields of different data types to extend our basic input form. While tricky, building the input form from a collection of custom fields is straight-forward enough.However, I'm now to the point where I want to handle the posting of this form and I'm not certain what the best way to handle this would be. Normally, we'd use strongly-typed input models that get bound from the various statically-typed inputs available on the form. However, I'm at a loss for how to do this with a variable number of input fields that represent different data types.A representative input form might look something like:
My date field: [ date time input control ] My text field: [ text input field ] My file field: [ file upload control ] My number field: [ numerical input control ] My text field 2: [text input field ] etc...
Ideas I've thought about are:Sending everything as strings (except for the file inputs, which would need to be handled specially).Using a model with an "object" property and attempting to bind to that (if this is even possible).Sending a json request to my controller with the data encoded properly and attempting to parse that.Manually processing the form collection in my controller post action - certainly an option, but I'd love to avoid this.Has anyone tackled an issue like this before? If so, how did you solve it?Update:My "base" form is handled on another input area all together, so a solution doesn't need to account for any sort of inheritence magic for this. I'm just interested in handling the custom fields on this interface, not my "base" ones.Update 2:Thank you to ARM and smartcaveman; both of you provided good guidance for how this could be done. I will update this question with my final solution once its been implemented.
I have scenario, where there are html hidden fields, the page can be redirected to itself, with parameters, I have sessions too. Now depending on session value I want to set some hidden values, so that it can be picked up from javascript and can do certain operation. But, the problem is I have no idea about how to get/ set values into html controls using asp.net, and also do not know whether this is possible or not. it is imperative that I need some way to hold some data that can be set using asp.net and can be picked up by javascript. Since session can not be used for this purpose, so I need some other way.
I've been using .NET for a little while now. And, I now want to learn to use it the RIGHT way. And, by that, I mean I shouldn't be using hiddenfields on my .aspx page and setting values for those hidden fields in my codebehind. Problem is, I don't know how to ask the question.. so bare with me.. getting a value from a gridview, detailsview, or in this case a DataList when it's bound on a .aspx page, and passing it into my stored procedure? Here's my code of how I do it now..
here's the label for the Department from my datalist, which is on my .aspx page <asp:Label ID="lblFullDept" runat="server" Text='<%# Eval("FullDept") %>' />
here's the hidden field from my .aspx page <asp:HiddenField ID="hdnFullDept" runat="server" />
And now for my code behind - where I find the value during the databound of the datalist, and then set the value equal to the hidden field.
Protected Sub dlInfo_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlMnfo.ItemDataBound Dim lblFullDeptCompare As Label = CType(e.Item.FindControl("lblFullDept"), Label) hdnFullDept.Value = lblFullDeptCompare.Text End Sub
And finally, the sql portion, where the value is passed as a parameter...
Protected Sub doInsertActivation() Dim conn As SqlConnection Dim comm As SqlCommand Dim reader As SqlDataReader Dim connectionString As String = ConfigurationManager.ConnectionStrings("xyz").ConnectionString conn = New SqlConnection(connectionString) comm = New SqlCommand() comm.Connection = conn comm.CommandType = Data.CommandType.StoredProcedure comm.CommandText = "abc123" comm.Parameters.AddWithValue("Department", hdnFullDept.Value) conn.Open() reader = comm.ExecuteReader() reader.Close() conn.Close() End Sub
Yes, this works, but I just feel like I need to learn a more efficient way of doing this, as I'm constantly grabbing data and inserting it into sql.
I am getting unlikely html tags for hidden fields in my website when redirecting to the page. I do not get it all the time but I am getting it frequently. e.g.: I was support to get
In order for hidden-field values to be available during page processing, you must submit the page using an HTTP POST command. If you use hidden fields and a page is processed in response to a link or an HTTP GET command, the hidden fields will not be available.
If I add a HiddenField control at design time and set a value in it at design time or in the Init event in ASP.NET, why would I not be able to read/process the value when a page is first requested?
I've posted the same question in the Object Data Source forum. This is a link to it http://forums.asp.net/t/1554083.aspx. Maybe I should've posted here to begin with. There seemed to be some overlap so I wasn't sure which was the best on to post the question in.
I'm trying to get a better understanding of how I could've designed my app so that the Object Data Source could work with the properties of my business objects. Please read the other post to see how it's currently being done. Sorry for the link to the other page. I didn't want to post a bunch of duplicate information. I would love to get some suggestions for alternative ways of doing this.
I'm using Master Page Structure on my webpage. Although I Added "EnableViewState="false" ViewStateMode="Disabled"" in both Master Pages and Web Pages, I still see Below Hidden Field on my web page which cause W3C Validation Error. I want to know How Could I Remove these fields.
I have a Grid view which is being populated from a database. Now I want to add a button that has its own html with some Hidden fields. I have introduced an Template Field and put the html in that field which works fine. But now I want to send the values in hidden field dynamically. i.e. the Id and value comming form the database.