MVC :: Radio Button Sets From The Controller Without Passing 15 Different Variables To The Post Method ?
Aug 27, 2010
I'm fairly new to MVC and admittedly don't fully understand how data is passed between Views and Controllers. That said, here is my issue.
I am working with C#. I have a page which has a list of items. Each item has a radio button set of three associated with it and there are 15 of these sets on the page. Thus I have radio1, radio2....radio15, etc. Each of these has value 0, 1, or 2 upon submit. I can't seem to understand how to get the information out of these radio button sets from the controller without passing 15 different variables to the post method in the controller which is associated with the view; ie passing Int32 radio1, Int32
radio2,.., Int32 radio15, etc.
I tried using ViewData["radio"+i] in a loop to access the value of each radio button set, but this, apparently can only be used to pass data to the View from the Controller and not the other way around.
I have a actionresult index method in my controller and a http post method for the same name. when i run the program the control should go to the http post method but by default it goes to the index method.
I am looping through all the posted data on my website and grabbing the values, this will then be used later on. The user is going to put 2 radio buttons on the page, one with a correct answer and one with an incorrect answer. I need to know how to see if a Radio Button is checked or not based on the posted data.
I have a form that is HTML, it involves a few string questions, a radio button, and a check box question. After the form is filled out, the info is then passed to an aspx page which sends out an email with the info. I am able to pass the string questions to the email, but am having trouble passing the radio button answer and the check box answers to the aspx and to then to the email. I have the code for the HTML set, I need help with the code for the ASPX page.(it is VB) Here is the code I have so far.
HTML <form id="form" method="post" action="SendEmail.aspx" enctype="multipart/form-data" name="questions"> <div class="Qblock">Name: <input type="text" class="input" value="" name="contact_name" /></div> <div class="Qblock">Phone #: <input type="text" class="input" value="" name="contact_phone" /></div> <div class="Qblock">E-Mail: <input type="text" class="input" value="" name="contact_email" /></div> <div class="Qblock">How many years have you been in this industry?<input type="text" class="input" value="" name="contact_long" /></div> <div class="Qblock">What is your specialty?<input type="text" class="input" value="" name="contact_special" /></div> <div class="Qblock">Do you have a cell phone? <input type="radio" name="P1" value="Yes" /> Yes <input type="radio" name="p1" value="No" /> No <br /></div> <div class="Qblock">Can you do any of the following? (check all that apply)<br /> <input type="checkbox" name="ckBox" value="CustSer" /> Handle Customer Service<br /> <input type="checkbox" name="ckBox" value="ReadForm" /> Read Expense Reports<br /> <input type="checkbox" name="ckBox" value="NewCust" /> Sign Up New Customers<br /></div> ASPX Protected Sub RetrieveValues() Dim sTemp As String = String.Empty sFromName = "[URL]" sToName = "[URL]" sSubject = "Web - Contact Us Inquiry" sTemp = String.Format("{0}{1}{2}", "<<< Marketing Opportunities >>>", vbCrLf, vbCrLf) sTemp = String.Format("{0}{1}{2}{3}", sTemp, "Name: ", Request.Params("contact_name"), vbCrLf) sTemp = String.Format("{0}{1}{2}{3}", sTemp, "Phone: ", Request.Params("contact_phone"), vbCrLf) sTemp = String.Format("{0}{1}{2}{3}", sTemp, "Email: ", Request.Params("contact_email"), vbCrLf) sTemp = String.Format("{0}{1}{2}{3}", sTemp, "How many years have you been in this industry? ", Request.Params("contact_long"), vbCrLf) sTemp = String.Format("{0}{1}{2}{3}", sTemp, "What is your specialty? ", Request.Params("contact_special"), vbCrLf) End Sub
I'm having a time finding out I could not do something simple as :
On the onchange event getting the new selected checkbox, this with jquery.
The checkboxes are located in the following div :
[Code]....
This all located in a form, when I will find out the selected radio on change I will post the form and use the value of the hidden field to know the selected radio button. Nothing really difficult.
I'm attempting to use a Button's OnCommand method to handle it's click event so that the event is passed on to OnPreRender method as shown below. So basically the OnPreRender method is called upon a button click. I'm need to use the OnCommand method because I have 2 buttons.
CS0123: No overload for 'groupSearch_PreRender' matches delegate 'System.EventHandler' So basically groupSearch_PreRender only takes an EventArg. I've tried casting as shown below but it doesn't seem to work. How else can I pass the button click event to the PreRender method?
protected void groupSearchView_PreRender(object sender, EventArgs e) { CommandEventArg entry = (CommandEventArg)e; //casting to CommandEventArg if(entry.CommandName=="searchUser") { do stuff } }
How can i transfer control to a controller's method from a controller's method..I am having two Controllers Home and User.. After username and password are verified inHome Controllers method , i want to show the User Controllers index page , so i have to callindex method of Home controller..How can i do it.
I've two radio buttons in my web site for selecting sex, one s for Male & another s for Female, Problem is during the Run time, I was able to select both the Radio Buttons, but as per my need i should select only one radio button. And i should perform validation Wn user not selected even one radio button i should show the error msg, like " select sex "
how do i go about looping through each group of radio buttons and getting the text of the selected radio button ?the code displayed above is created dynamically ... in my aspx file i have the following code
Using jQuery I want to be able to click an element which will also checks it's related radio button. I had this working fine until we had to add runat="server" to the radio buttons.When I apply this it prevents my jQuery function from working how to get round it, heres a simplified version of the code:HTML
I've found out that when its converted to a .net control instead of checked="checked" (as it would be usually) it is just Checked, so I changed that but on inspecting the DOM in multiple browsers, none of my radio buttons are being checked(Are there any other ways I can use jQuery to check a radio button that has runat="server"?
I have the following code<asp:RadioButton runat="server" Text="Male"></asp:RadioButton>I want a gap between the radio button and the radio button text, I made the following changes in the text field(prefixed a space) Text=" Male". However, I don't feel this is the most efficient way.
I have a web application that shows a page containing between 6 and 20 AJAX UpdatePanels, contained with Custom Web (.ascx) Controls.
You can see an example of such a page here:
[URL]
The problem I'm getting is that when the user FIRST clicks any of the radio-buttons on any of the controls in the page, ALL the radio buttons that have an active selection ALSO fire an rb_CheckChanged event (see application log below). On subsequent radio-button clicks, only that RB fires the event (as expected).
This behaviour is having a dramatic impact on performance. The page loads quickly, and a "normal" RB click provides an AJAX update correctly within 1 second. The problematic first RB click, however, takes up to SIX seconds to process, which is unacceptable from a user experience standpoint.
Developed in VS.NET 2008, ASP.NET 3.5. Also I converted the "Web Site" solution to a "Web Application" (pre-compiled) and got the same performance (still too slow). Release builds run only marginally faster than debug builds.
Why would a single RB selection change cause all RB's that have a "selection" set on them to also fire? (The "selection" is determined through database settings every time the control is populated, which is called from within the parent page control's Page_Load function. This selection is determined also at first page load, since all the controls get populated then, so why would the clicking of an RB cause them all to fire an event, and only once? That's what I don't get...)
Not sure if this is an AJAX issue, or general ASP.NET UI issue, so I'm posting in two forums on this one.
Being new to ASP.NET I have run into trouble building my own Whack-a-mole program. I think my problem comes from using Buttons, which by themselves send post backs to the server, making the software unusable. The looks are in place, making new buttons show up in the grid, in different places by random. However, when a button is pushed - the score doesn't change (which I feel is strange).
Not so strange is that the Button doesn't work since it sends post back to the server - reloading the UpdatePanel. I think I should use a different controller like the CheckBox and style it hard using CSS (which isn't a problem). Is this the correct way to go, or should I make use of JavaScript AJAX instead?
Note to self: This technique shouldn't be used in a public application since it put too much unwanted pressure on the web server.
I'm working with a third party product and my boss wants to be able to link directly to a specific screen in this product from our company intranet. When I drilled all of the way down to the screen in this product, I see that it is an ASP.Net application and the particular screen is reached via a link that triggers a javascript function. I can see the anchor tags for this link and a link to a different screen and I can see the javascript function. Both screens as well as the initial screen are all part of the same content form. It is pretty clear that this screen is modified based on which link is clicked but it isn't using query string values so it must be using button click events to modify what shows on the screen. My question is; with what I can see of the 2 links and the javascript function, is there a way to send a postback with that specific click event from a different site to that specific ASP.Net form so it would pull up the correct screen? Here are the javascript function and anchor tags:
function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } <a id="ctl00_popular1_pnlLeftPopular_dlsPopular_ctl00_lnkActivity" href="javascript:__doPostBack('ctl00$popular1$pnlLeftPopular$dlsPopular$ctl00$lnkActivity','')">IT Request for Change (RFC)</a> <a id="ctl00_popular1_pnlLeftPopular_dlsPopular_ctl01_lnkActivity" href="javascript:__doPostBack('ctl00$popular1$pnlLeftPopular$dlsPopular$ctl01$lnkActivity','')">VOSA</a>
On an ASP.NET page, I am using the same form for login and registration. There are two login fields and seven registration fields. Something like this:
In each case, all the fields are compulsory (ie username and password are compulsory for logging in, and the other seven fields are compulsory for a new registration). There is a single submit button. This layout of the form is imposed by the client and is not open to modification.Now, my question is, how to validate the form? Initially, I cooked up a customized server-side validation system, but the client insists on using the standard asp.net validation controls (including the custom validator if necessary).
To validate the form, first I have to determine if the client is doing login or validation, and only then can I decide whether to validate one set of fields or another. So the first operation is to see if the user has filled in username or newUsername and use that to determine whether a login or a new registration is taking place. Since there is a single submit button, I cannot use validation groups to distinguish between the two sets of controls.
I thought about using a custom validator for the whole thing, but it is connected to a single control, so that does not solve the problem. I also thought about creating a new validation control, but again the problem is the same - any class inheriting from WebControls.BaseValidator is connected to a single form control.
In asp.net mvc3, I've got a few local variables in one of the controller, is there any neat way to pass all these variables to view? Something like "locals()" in python?
I'm calling an action from another controller using this code
[Code]....
But inside "ApproveOperation" action, I needed the Session variables. It seems when I called it from another controller (not the owning controller), the Session variables can not be accessed (null value).How can I get the same Session variables just like it was called from the owning controller?
I'm passing several variables thru the URL and want to use them in several SQL Queries that I want in my asp page. For example one of the (hypotetichal) is client_id and i want to use it in a query to gather other information.
I have gotten alot of help lately on my project and think I only have one more issue that I can't think of how to do. What i'd like to do is pass a login name and password from a Login.asp page to all of my other pages. So for instance if I have a successful login, I am taken to the Home.asp page. But i'm not sure how I can pass the LoginID used from Login.asp to the Home page. Ideally i'd like to use this information in the SQL connection strings, and to customize the Home page to show orders assigned to certain people that are logged in.
I'm trying to pass some variables from one page to another via the session state and then post those variables to labels on page 2. When I try to write the code for my labels on page2, I get an error of "Declaration expected"Here is my code from that page:
Partial Class Default2 Inherits System.Web.UI.Page Dim firstname As String = CType(Session.Item("FirstName"), String) [code]...
Am I missing a page_load event handler or what am I missing?
I have a search page which generates a GridView of results based on the search terms entered by the user. One of the columns in GridView is called a DOI (Document Object Itentifier). This DOI is used to find academic papers through [URL] when a user enters a DOI string. What I would like to do is redirect the user to the relevant webpage when they have selected the DOI in the GridView, however, the url for this page is always different. In the page, I have formatted the form tag like so: [URL] and in my GridView, I have formatted the row that I wish to have hyperlinked like so:
Then, in my C# codebehind, I have the following event which aims to redirect the user to the required page, based on the tag they have selected:
switch (e.CommandName) { case "d": searchResult.Attributes.Add("onchange", "window.open [URL] break; }
I don't think this code above makes any difference though as the form tag is already specifying the redirected url, nor do I think this task can be done with a html <table> object, as it only accepts static data, rather than a result set generated from a database, which is what I'm doing. I have also looked at the following post as a guide to this type of problem but, taking account of what it said didn't allow me to solve this problem completely. GridView with DDL and selected value