MVC :: Form Post Not Working With HTML Inside A Textarea?
Apr 15, 2010
For some reason I can't get an ajax post action to work if the text inside an textarea contains HTML. In the text area I am entering <h1>test</h1>, when I do that, I can click on the Save button all day if I want, nothing happens. Not sure whats causing this, but it also appears to do it if I don't use the ajax form and just a standard html form.
Here is the code for the controller:
[Code]....
Here is the code for AjaxForm:
[Code]....
And here is how I am putting the control on the form:
I'm working with an MVC1.0 web app and I've found a bit of an odd anomaly.
I have a search box on the first page (normal text box) and the input from this is passed through to the ViewData and on to the second page.
On the second page, I render a TextArea with this search input text from the ViewData.
Eg:
[Code]....
The problem is, there is an extra line break in the TextArea, just above the original text.
Stranger still is that if I now submit this page and the view is reloaded (after validation fails) - the original string of text has been trimmed and has no line breaks, but the TextArea now has 2 line breaks above the original text.
This can be repeated - every time the page reloads it has another line break.
It's driving me insane - does anyone have an idea on how to fix this?
FYI, you can check it out yourself - on your mobile phone, browse to [URL], punch something in the search box and hit search. You'll notice one line break added the first time the page loads. Then just hit "Find Best Offer" without entering a budget or selecting a category, and you'll see what I mean about the additional line breaks.
I have a View that has a select drop-down list and an edit button within a form. What I want to do is have the user select one of the options from the select element, click on the edit button, and get the value of the selected option in the Controller method.
I created my form with <% Html.BeginForm(): %>
and the Controller "Edit" method should be called.
I looked through several online examples, but each one focused on how to set values and the default selected value of the select element, rather than retrieving it from the code in the Controller method. I tried grabbing it from the Request.Form collection like:
string val = Request.Form["myDropDownList"].ToString(); and also: string val = Request.Form["myDropDownList"];
Obviously I didn't do this correctly, because I get a null reference exception. Does anyone have the solution to this issue?
I have PDF that opens in a browser (iframe) that has standard PDF form fields. I would like the user to fill out all the fields and then press an HTML submit button (located outside the iframe in the surrounding ASPX page) so that all the data in the PDF that was filled out in the PDF Form Fields posts that to another ASPX page.
there is one dynamic page, that, from a database, based on a lot of gathered information (user id, account #, etc), actually 'spits' out an html form, with an action which goes to a website and sends a bunch of hidden information from our site.y situation is this - I am building a master page for the site, which will include the form tag for the content pagesdon't see how this will work, without rewriting what comes from the database - - -
I have a simple ASP.NET page that uses the VLC media player to play a video in IE. I also have four buttons to control the playback:
Play, Pause, Stop, and Mute
The four buttons call JavaScript functions that access the ActiveX control. When I click on any of the buttons, I get the following error in the JavaScript function:
"Microsoft JScript runtime error: 'vlc' is undefined".
However, if move the object tag for the vlc player outside the form tag, then the JavaScript works correctly, and I can control the video playback.
My question is why must the object tag be outside the form tag for this code to work correctly?
I'm trying to extend the functionality of an ASP.net application that I'm working with. For its logon page, it uses an html form to post to a dll to handle it's login logic. I'm wondering if there is any way to redirect that html POST to my C# code so that I can do some processing and then (and this is the part that I haven't figured out yet) POST it to the dll so that the regular logon logic can continue. I can make changes to the logon page, but the final step must be to do an HTML POST to the dll. I can't change that.
I hope this is a really easy question but I'm struggling with it. I have a GridView that has an UpdatePanel within a TemplateField.
The idea is that the user can make simple alterations without a full page load being required.
I have simulated my page functionality in the following example, which simulates a database hit, gridview databinding and updatepanel functionality.
When you press any of the + or - buttons in the GridView, the form controls in the bottom UpdatePanel also post their contents back. I have seen this by using Firebug. On my real page however this is causing excessive bandwidth and is nearly the same as a full postback.
how I can force ONLY the appropriate UpdatePanel's contents to postback for processing, rather than all the UpdatePanels?? I've tried experimenting with Triggers but just can't get it working properly.
In the code behind these literals are populated, the form literal holds a couple of fields, the script literal looks like this:
StringBuilder strScript = new StringBuilder(); strScript.Append("<script language='javascript'>"); strScript.Append("var ctlForm = document.forms.namedItem('{0}');"); strScript.Append("ctlForm.submit();"); strScript.Append("</script>"); ctlPostScript.Text = strJS2; //where strJS2 is the string being returned by the stringbuilder
This is executed when a certain button is pressed. The purpose is to redirect to another site.
This works fine as long as no AJAX is used.
However as soon as AJAX is added, in particular as soon as the script manager is added with partial rendering set to TRUE:
then this stops working. The code in the button is still executed, we checked that, the literals get the right text properties. It appears however that the javascript is not executed. Nothing happens, no redirection.
the problem can be overcome by settin the script manager partial rendering to false, however, when this is done, much of the AJAX functionality stops working.
We think it may have to do with registering the script with the script manager. We tried this:
ClientScript.RegisterStartupScript(this.GetType(), "JSScript", strJS2);//done before setting the text property of the literal
But to no avail.
Anybody has seen this before and knows how its done right?
I have a child page LoginContent.aspx which contains a login form. If the user logs in he should be redirected to my Welcome.aspx page. But if I press the login button the page just reloads itself, nothing happens.
The codebehind on this page is empty. Both LoginContent.aspx and Welcome.aspx are child forms of the same master page.
The following is not working (does a full postback). Note: HTML tags inside updatepanel. We can' t have HTML tags inside updatepanel? If so, what's the work around?
Is there a way to force a non-secure form post to be secure? I understand there are ways to automatically resolve an http URL as an https URL but with form posts, is this type of redirection too late? Will the posted data have already gone through the wire as plain text?
Really the title explains it. When i have an HTML Editor (from the AJAX Control Toolkit) inside an UpdatePanel, i get the error message: "Microsoft JScript runtime error: Invalid set operation on read-only property"
I was looking online and it appears it's because the editor uses javascript - is there any workaround for this?
When the users presses submit, I get the below error and for the life of me cannot figure out why! I have tried GET as well, byt that just seems to post to itself and just puts the form vairables in the URL rather than going to formprocess.aspx.page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.Please try the following:Contact the Web site administrator if you believe that this request should be allowed.Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.HTTP Error 405 - The HTTP verb used to access this page is not allowed.Internet Information Services (IIS)
I'm using MVC, and i'm building my own basic blogging engine. I need to be able to allow HTML input to be submitted to the server so it can be added to a database. I only want HTML input allowed in that textarea alone, but I still want my other validation like StringLength etc. How could I do this?
i have tested this code and it works great separately .. the only difference is on my project i have DIV, tables, TABs and ContentPlaceHolder. not sure if this can make this code not working.. i am not getting any error..but nothing is happening.
i have a master page and one content page. In content page i have a textarea for get value from user. i don't want to make it asp control using add runat = server. without adding runat server i want to get value of textarea in a string variable which is defined in code behind file of my page using c#
In short i want to get value of Html control in code behind file using c#
I have a form with several textarea elements. User enters data and submits the form. On the next page it shows submitted text as static text - in p tags. Obviously New Line and multiple paces get ignored and everything just shows in one line. I can do some preprocessing like replacing New line characters with "br/" and spaces with . but I was wondering if there is a standard solution to that either on server side (C#) or client side (javascript)