Web Forms :: Dropdownlist Item Added Through Javascript?
Apr 19, 2010
I have a formview that when in insert/edit mode, has a dropdowlist and a linkbutton. The linkbutton opens a popup with another formview that allows the user to enter new items that are required to be added to the dropdownlist. When the popup closes, it adds any new items to the dropdownlist options (there may be more than one item added). The purpose is to prevent having to have my users partially add/update a record, go create a new item for the dropdownlist then have to come back and edit again since any new items won't be known until they are needed.
At first, I recieved the 'invalid postback or callback' warning and began reading up on the issue. Though there were several forum posts and web articles, most seemed a few years old so I thought I would find out if there were any subsequent changes that might help me out. I'm using vwd2005/ASP.Net 2.0 and do not have ajax (not available on my corporate web servers). In the page directives, I disabled EnableEventValidation but then I found that while other controls were updating, the value set in the dropdownlist was not and I had to make 2 edits anyway. Since new items in the ddl won't be around when it is rendered, i've read that I can't make use of registerforeventvalidation. ps. i have thought that i could save my viewstate, browse away from the page instead of use a popup, then restore the viewstate, but I'm concerned about being able to update the ddl while retaining the viewstate.
all elements are in an updatepanel. click on a list of <tr> to fire a JavaScript function to add new <option> to the asp dropdownlist. But, when I click on other buttons to callback to the server, I get an error message:
Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Invalid postback or callback argument. Event validation is enabled using
in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. I understand the problem. I need to let server side know the change of the dropdownlist before any other postback. Set validation as false won't work in this case, the dropdown will lose the new item anyway. I did some researches, and the possible solutions:
1)Using ViewState? Request Form? could anyone give an example?
2)Add dropdownlist item in server side. But I want to make the whole tr row clickable to fire the event. Could I click on tr and fire eg. its first child linkbutton or a linkbutton in somewhere else.
3)I've tried Jquery.ajax and webmethod , it can fire server event but since all method are static (shared) , it doesn't allow me to edit the downdownlist instance.
Here when i click on button it insert all data into table but it didn't insert my selected item from dropdownlist it insert select city that i define in page_load
DDL1.Items.Insert(0, new ListItem("select city", "0"));
And when i delete this code from page load it insert in table first row of my table it didn't insert my selected item from dropdown list.
What I need is if I select default item i.e. 0 in Zone dropdown I need to show all items in store dropdown. Below is my stored procedure to get the stores
ALTER procedure [dbo].[selectcenter] @RegionID varchar(5) as begin select ID,Centername from Shoppingcenter where RegionID=@RegionID group by ID,Centername end
I am having 3 ListBoxs(LB1,LB2,LB3).In LB1 I am binding the names of Courses through database.The code is shon below...
da1 = new SqlDataAdapter("SELECT COURSE_ID,COURSE_NAME FROM Course_Mst", con); DataTable dt1 = new DataTable(); da1.Fill(dt1); lstCourse.DataSource = dt1; lstCourse.DataValueField = "COURSE_ID"; lstCourse.DataTextField = "COURSE_NAME"; lstCourse.DataBind();
Whenever I select particular course in LB1 all the content related to that course will be binded in LB2.The code is shown below.....
protected void LB1_SelectedIndexChanged(object sender, EventArgs e) { da2 = new SqlDataAdapter("SELECT SPEC_ID,SPEC_NAME FROM SPEC_TRANS WHERE COURSE_ID="+Convert.ToInt32(lstCourse.SelectedValue)+"", con); DataTable dt = new DataTable(); da2.Fill(dt); lstSpecilization.DataSource = dt; lstSpecilization.DataValueField = "SPEC_ID"; lstSpecilization.DataTextField = "SPEC_NAME"; lstSpecilization.DataBind(); lstSpecilization.Focus(); }
I am having a ADD button.In LB2 I can select multiple items.When I select multiple items in LB2 and click on ADD all the selected items will be binded into LB3.The code is shown below...
protected void btnAddCourseDetaisl_Click(object sender, EventArgs e) { for (int intLoopIndex = 0; intLoopIndex <lstSpecilization.Items.Count ; intLoopIndex++) { if (lstSpecilization.Items[intLoopIndex].Selected) { ListItem li = new ListItem(lstSpecilization.Items[intLoopIndex].Text, lstSpecilization.Items[intLoopIndex].Value); LB3.Items.Add(li); } } }
My problem is when I select a item from LB2 and click on ADD the selecteditem is added to LB3 but if I select the same item and click on ADD the items are again added to the LB3.I want to prevent this.Pls respond me ASAP.
I need to add an item in a dropdownlist and also modify the value of that item, but im getting an error : "Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"here's my Page load
Dim rt as new OleDbCommand("Select * from Question ", con) dim rd as OleDbDataReader rd = rt.ExecuteReader Dim a as new OleDbCommand("Select Count (*) as C from Question" , con) [code]...
I have a project that queries a set of times from a database and uses these entries to populate a dropdownlist. Once the page is loaded, the user can select one of the items in the DropDownList. When the "Save" button is clicked, the Selected item value is returned to the [HttpPost] version of the controller action. This item is then stored into session. If the system returns to the page containing the dropdown, I want the saved Value to be selected in the DropDownList. What actually happens is that the DropDownList is always set to be the first item in the list.
Database Table: This data has been imported using Link to SQL
I'm dynamically adding a DropDownList to the GridView in edit mode and I have set the TextBox Visibility to False. In edit mode I can see the DropDownList and I'm able to select an Item from the DropDownList but not able to access the SelectedValue in RowUpdating Event. How to get the selectedvalue of this DropDownList?
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound If e.Row.RowType = DataControlRowType.DataRow And (e.Row.RowState And DataControlRowState.Edit) > 0 Then Dim ddl as DropDownList FillStateList(ddl) e.Row.Cells(4).Controls.Add(ddl)
ddl is the DropDownList that is added dynamically. And the default Textbox that is in the Edit mode is set to invisible. So there are actually two controls in the same cell in edit mode(TextBox is invisible).
If I use the above statement I'm getting NullException.This is Probably because its a BoundField. Is there a way I can access the DropDownList 'ddl' SelectedValue?
I have a formview that has several dropdownlists in the EditItemTemplate. Some of the dropdownlists are added using placeholders. I can add and populate their listitems without any problem. But when I update the record, none of the controls can be found--even though when I look at the page source they are there. I first strated out using asp:ControlParameter in my sqldatasource updateparameters, but even referencing the control as myform$mycontrol did nothing. So then I moved to code behind on the sqldatasource.updating event (code is attached). The only controls I cannot seem to bind to the update are those added via the placeholder.
[Code]....
The item at the dim statement is not an item added using a placeholder and does not get a null reference exception (I used that to prove during debbugging that I wasn't losing my mind)--however, all the items being used to get the parameter values are getting null reference exceptions and are added via placeholders. Here is the code I'm using to set up the dropdownlists:
[Code]....
how to get the value of these controls so they can be used in my update?
How to maintain view state for the dynamically added html controls to a table using javascript(Below is the javascript which I am using to add HTML Controls Dynamically"). Because during the postbacks if I found any error while validating the data present in the dynamically added html controls, the controls are loosing their state and again I need to start adding rows and add data.
I have a page with a table and two button with the names (Submit and Add Rows) When I click on Add Row a new row will be added to a page(This is achieved using javascript), when I click on submit button I will be doing server side validation. If I found any error the error will be displayed on the page. During this process the controls which were added by me were loosing its state. As a result I need to add the rows once again and need to fill the data and click on submit button. Can any one let me know how to avoid this and see that the controls donot loose their states. So that there is no need for me to create rows once again if any validation fails on the server side.
On adding items in it ,shows an error: "Dropdownlist does not allow multiple selection."But when i tries to print the selected item it shows null exception.
Protected Sub ddl_selectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Dim a As String = "" 'this does not get fired End Sub <asp:GridView ID="GridViewAssignment" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" Width="100%"> <RowStyle BackColor="#DEDFDE" ForeColor="Black" /> <FooterStyle BackColor="#C6C3C6" ForeColor="Black" /> <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" /> <SelectedRowStyle BackColor="#86A4CA" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#808080" Font-Bold="True" ForeColor="#E7E7FF" /> </asp:GridView> Protected Sub GridViewAssignment_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridViewAssignment.RowDataBound Dim dateApplicationCreatedCell As TableCell = e.Row.Cells(0) 'app created on Dim typeOfReview As TableCell = e.Row.Cells(7) 'type Dim QCCell As TableCell = e.Row.Cells(8) 'qc Dim dateReviewAssignedCell As TableCell = e.Row.Cells(9) 'date assigned Dim reviewerNameCell As TableCell = e.Row.Cells(10) 'reviewer Dim dateReviewCompletedCell As TableCell = e.Row.Cells(11) 'date completed review Dim ddl As DropDownList If e.Row.RowIndex <> -1 Then If dateReviewAssignedCell.Text.Trim = " " Then dateReviewAssignedCell.Text = Now.Date End If Dim sqlCondition As String = String.Empty If dateReviewCompletedCell.Text.Trim = " " Then Dim nameToSelect As String If reviewerNameCell.Text.Trim <> " " Then Dim dateReviewAssigned As Date = dateReviewAssignedCell.Text Dim elapsedSinceAssigned As Long = DateDiff(DateInterval.Day, dateReviewAssigned.Date, Now.Date, Microsoft.VisualBasic.FirstDayOfWeek.Monday, FirstWeekOfYear.Jan1)...............................
My DropDownList control is getting the information from an ObjectDataSource. I need the initial item showing on the DropDownList to be "Select an item" which is not in the database.
I have created some dropdownlists in the SelectedIndexChanged from another dropdownlist in a PlaceHolder1. Now I want to retrieve the value from the created dropdownlist
in the Button_Click1 method but I don't understand how I can achieve this.
The list items in lijst seem to be empty so I get an System.NullReferenceException; on line
I have items in a sql table that i populate a dropdown list with. so on page load the items are sent to dropdown list. I have a button on the page with the dropdown list that onclick it launches another page that allows more items to be added to the database table.
What I want to do is to refresh/update the list of items in the dropdown list when the second page is closed. In addition the last item added to the table will be the selected item in the drop down list.
I am inserting a new states in the table from dropdown list , the dropdown list has new in the list, clicking on new gets me a pop up which takes the new state and inserts in a table. My requirement is I want to get the last inserted state in the dropdownlist and its id to be selected as soon as insertion is done.
The second function is to insert the contact details where i have countryid,stateid,cityid
protected void stateSave(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(cs)) { SqlCommand cmd = new SqlCommand("newStates", conn); cmd.CommandType = CommandType.StoredProcedure; SqlParameter outparm = new SqlParameter("@stateID", SqlDbType.Int);