Forms Data Controls :: Update Form Won't Post DropDownList Values
Apr 19, 2010
See what happens when you answer my questions! I come back! No good deed goes unpunished. I've built an Update form where my visitor can update data in dbase. I have a formview with several dropdown lists; none of which will update the table (all the textboxes, checkboxes and even Ajax enabled calendar work just fine). In the form below, visitor selects a CareerCluster from the ddl. Upon postback, the next ddl (pathwayListBox) populates with related data using the CareerCluster.selectedvalue in a query. At the same time, tsaOrgsDropDownList is also populated based upon the first ddl (CareerCluster).
When user selects from the tsaOrgsDropDownList the final ddl (tsaDropDownList) is populated. All this various selecting/populating works just fine on the form. The problem is: Nothing is updated to the table upon clicking the Update button. All other form fields do post as their supposed to except, I have other ddls on the page that are not related to the above series and they won't post either. My thought is that somehow, this is related to the postbacking going on. That posting back is overwriting the selectedValues with null or something.
<asp:FormView ID="courseUpdateFormView" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" DataKeyNames="CTECourseID" DataSourceID="formviewSqlDataSource" Width="715px">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<EditItemTemplate>
<table align="center" width="700" border="1" cellpadding="10" cellspacing="2" bgcolor="White">
<%--A whole bunch of textboxes goes here--%>
<tr>
<td bgcolor="#dadada">
<strong>Number of HS Credits:</strong> <span>(Standards-based districts use the <em>Other</em> form field.)</span>
</td>
<td bgcolor="#FCCCCC">
<span><font color="red">Note: you must reselect HS Credits from the list or enter Other credits in the form field provided.</font></span><br />
<asp:DropDownList ID="numHSCreditsDropDownList" runat="server" TabIndex="3" ToolTip="Standards Based districts us the Other form field." ValidationGroup="HSCredits" AppendDataBoundItems="True" OnSelectedIndexChanged="numHSCreditsDropDownList_SelectedIndexChanged">
<asp:ListItem Selected="True" Value="0">--Choose One--</asp:ListItem>
<asp:ListItem>0.5</asp:ListItem>
<asp:ListItem>1.0</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td bgcolor="#dadada">
<strong>Career Cluster:</strong>
</td>
<td bgcolor="#FCCCCC">
<span><font color="red">Note: you must reselect Career Cluster from the list.</font></span><br />
<asp:DropDownList ID="careerCluster" runat="server" AutoPostBack="True" TabIndex="4">
<asp:ListItem Selected="True" Value="0">--Choose One--</asp:ListItem>
<asp:ListItem Value="1">Agriculture, Food & Natural Resources</asp:ListItem>
<asp:ListItem Value="2">Architecture & Construction</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td bgcolor="#dadada">
<strong>Pathways:</strong> <span>(Pathway as defined in the Cluster/Pathway model.)</span>
</td>
<td bgcolor="#FCCCCC">
<span><font color="red">Note: you must reselect Course Pathway from the list or enter Other Pathway in the form field provided.</font></span><br />
<asp:ListBox ID="pathwayListBox" runat="server" DataSourceID="CTECourses" DataTextField="ClusterPathway" DataValueField="ClusterPathway" SelectionMode="Multiple" Style="margin-left: 0px" TabIndex="5" Rows="3">
<asp:ListItem Selected="True" Value="0">--Choose One--</asp:ListItem>
</asp:ListBox>
<asp:SqlDataSource ID="CTECourses" runat="server" ConnectionString="<%$ ConnectionStrings:CareerTechEducationConnectionString %>" SelectCommand="SELECT [ClusterName], [ClusterPathwayID], [ClusterPathway], [ClusterCode] FROM [lkClustersPathways]
WHERE ([ClusterCode] = @ClusterCode)">
<SelectParameters>
<asp:ControlParameter ControlID="careerCluster" Name="ClusterCode" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
<tr>
<td align="center" bgcolor="#4A3C8C" colspan="2">
<asp:Label ID="occupationalStandardsLabel" runat="server" Font-Bold="True" ForeColor="White" Text="Occupational Standards"></asp:Label>
</td>
</tr>
<tr>
<td bgcolor="#dadada">
<strong>Source of Occupational Standards:</strong>
</td>
<td bgcolor="#FCCCCC">
<span><font color="red">Note: you must reselect Source of Occupational Standards from the list or enter Other Source of Occupational Standards in the form field provided.</font></span><br />
<asp:DropDownList ID="tsaOrgsDropDownList" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource3" DataTextField="TSAOrganization" DataValueField="TSAOrgID">
<asp:ListItem Selected="True">--Choose One--</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:CareerTechEducationConnectionString %>" SelectCommand="SELECT [TSAOrgID], [TSAOrganization] FROM [lkTSAOrgs] WHERE ([TSAClusterID] = @TSAClusterID)">
<SelectParameters>
<asp:ControlParameter ControlID="careerCluster" Name="TSAClusterID" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
<%--A whole bunch of textboxes, checkboxes and other stuff goes here--%>
<tr>
<td bgcolor="#dadada">
<strong>What is the Summative Assessment (Technical Skills Assessment) for this course:?</strong>
</td>
<td bgcolor="#FCCCCC">
<span><font color="red">Note: you must reselect Summative Assessment from the list or enter Other Summative Assessment in the form field provided.</font></span><br />
<asp:DropDownList ID="tsaDropDownList" runat="server" AutoPostBack="false" DataSourceID="TSAs" DataTextField="TSA" DataValueField="TSAID" Width="300">
</asp:DropDownList>
<asp:SqlDataSource ID="TSAs" runat="server" ConnectionString="<%$ ConnectionStrings:CareerTechEducationConnectionString %>" SelectCommand="SELECT [TSAID], [TSA] FROM [lkTSAs] WHERE ([TSAOrgID] = @TSAOrgID)">
<SelectParameters>
<asp:ControlParameter ControlID="tsaOrgsDropDownList" Name="TSAOrgID" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
<%--A whole bunch of textboxes goes here--%>
<tr>
<td align="center" bgcolor="#dadada">
<asp:Button ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" />
<br />
<span><font color="maroon">* All fields except the Tech Prep Information are required.</font></span></div>
</td>
<td align="center" bgcolor="#dadada">
<asp:Button ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</tr>
</table>
</EditItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="formviewSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:CareerTechEducationConnectionString %>" SelectCommand="SELECT * FROM tblCTECourses WHERE (CTECourseID = @CTECourseID)" UpdateCommand="UPDATE tblCTECourses
SET HSCredits = @HSCredits, CareerCluster = @CareerCluster, Pathways = @Pathways, TSAOrgs = @TSAOrgs, TSA = @TSA, LastUpdate = GETDATE() WHERE (CTECourseID = @CTECourseID)">
<SelectParameters>
<asp:SessionParameter Name="CTECourseID" SessionField="CTECourseID" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:FormParameter FormField="numHSCreditsDropDownList" Name="HSCredits" Type="String" />
<asp:FormParameter FormField="HSCreditsOtherTextBox" Name="HSCreditsOther" Type="String" />
<asp:FormParameter FormField="careerCluster" Name="CareerCluster" Type="Int32" />
<asp:FormParameter FormField="pathwayListBox" Name="Pathways" Type="String" />
<asp:FormParameter FormField="tsaOrgsDropDownList" Name="TSAOrgs" Type="Int32" />
<asp:FormParameter FormField="tsaDropDownList" Name="TSA" Type="String" />
<asp:FormParameter FormField="TSAOtherTextBox" Name="TSAOther" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
In the codebehind I've tried to set selectedvalue to session variable upon selected index changed like this:
Protected Sub numHSCreditsDropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Session("HSCredit") = DirectCast(courseUpdateFormView.FindControl("numHSCreditsDropDownList"), DropDownList).SelectedValue
End Sub
I have a big form in which i have almost 10 update panels. some are having updatemode = conditional and others are always. Now by default when that page is opened i only show one dropdownlist.When that project dropdownlist (from which i populate the rest of the elements in my page) value is changed by user it takes long time to load the other elements. Also the other gridview which is also surrounded by update panel and mode in conditional takes long time to show edititemtemplate controls in edit mode.
I am unable to trace the reason behing delay. Few days ago it was working fine and fast but now it is slow.
I have a typical gridview/formview master control setup. When I try to update or insert I don't get any errors but it also doesn't work. When I try to insert data all I get are null values and when I update, none of the values are updated. The formview looks like its working, but just doesn't. The primary key is an identity and it auto-increments by one.
How do i change the name column text the current row when the selected index of drop down is changed? ex:first row is mudassar khan and belgium, when i change belgium i want mudassar to be replaced to a name which i fetch from database....
I am a seasoned desktop developer but I am new to MVC, EF and web development in general. I have been following the MVC Music Store tutorial but using my own database and project instead of the one from the tutorial.
My project is a web front end to a configuration database that lets us implement new Markets (a.k.a. Customers) for our IVR. For the View that allows the user to modify an existing Market I use a ViewModel class that has two properties. One property (clientData) is an EntityObject populated from a single row of the Client_Data table. The other property (callflowSeq) is a List of EntityObjects populated from about 40 rows of the Callflow_Sequence table.
The "Get" Edit method of the MarketsEditViewModel displays the Edit View fine but when I modify the data only the Client_Data table gets updated.
Here is my ViewModel:
[Code]....
Here are the Edit methods from my Controller:
[Code]....
Here is my View:
[Code]....
It seems that I can't use UpdateModel() to update the Callflow_Sequence table but I can't figure out how to do it manually.
I searched a lot of threads but still couldn't get my problem fixed. I have to update the "regform" table with two fields: session_ and session2. These two fields are inside the detailview edititem template which bounded to dropdown list drpsession1, drpsession2 separately. I wanted to pass the update parameters to the update sql UPDATE dbo.regform SET session_=@session_, session2=@session2 where id=@id
the @session_ is bounded to a drpsession1 and @session2 is bounded to drpsession2. I used ControlID="ctl00$ContentPlaceHolder1$DetailsView1$drpsession1" to access the dropdown list within the detailview, but still couldn't do the updates. What's wrong with my code? Do I have to use the code behind to specify the update parameters? and How to do it? TIA.
i have a multiline textbox on the form for the user to enter some description. On its OnTextChnaged event, i m using the text in the textbox and populate a dropdownlist with some values.
the textbox's html readd somthing like this
[Code]....
here ddlIndex is the dropdownlist to be populated.
i was wondering if i can use a javascript fucntion to do this?
i dont want the page to go back to the server to populate the ddlist, which does take a considerable time.
how to use a javascript function to achieve this functionality ..
I am using asp.net/c# application. In my application, I have a gridview.<asp:GridView id ="gv_QuestionList" runat="server"> </asp:GridView>In Code Behind, I created dynamic textboxes and DropDownLists on RowDataBound.
[Code]....
I have a Save button out side the gridview which stores all the row values into database. when I click the "Save" button, I lost dyanamically ceated controls like textbox,dropdown and values (on postback).How can i get all the dynamically created controls and values after the post back?
I am trying to update the value of a cell in a gridview at the same as conducting a post back to the DB....
Currently I am not able to even find teh control to puchthe data back to the cell, do I need to update the DB first then let the query read the updated record?
[Code]....
How can I get the new birthdate back into the ("studentDOBLabel") on the template at the same time I update the DB?
I need to process surveys. I have modelled them in SQLServer, just need to generate the forms to input it.I have nested SqlDataSource/DataLists. The outer gets the questions and the inner gets the various options as a plain HTML radio buttons. I can't use ASP.NET radio buttons because of a bug with them inside itemtemplates not mutually exclusive http://support.microsoft.com/default.aspx?scid=kb;en-us;316495Anyway, so now I need to know the which radio buttons were selected so I can insert the values in the database. What is the best way of doing it?
I have a dropdownlist inside a gridview and when the user changes that value and then clicks the update button I want to get the value that was selected in the dropdownlist. I put the code below that I'm trying and the RowUpdating code that I am trying is throwing an exception when I try to get the "myDDL.SelectedValue" saying that the object is not set so I also tried the RowCommand but it looks like that sub is not being called.
how I can get the selectedvalue of the dropdownlist when updating?
I am populating data into formfields when i select checkbox in a grid view with the following code.I have 20 record set in database,Quotenumber(Main column) starts 3001 ,3002,3003..........3020.I am allowing duplicate entries meant that i have 4 recordset only on 3000 quotenumber like wise i may have 3or more record set on 3010,problem here is when i select first one of 3000(Quotenumber) it is supposed to populate the record set of first one of 3000 but only last one of 3000(quotenumber) is getting populated into form field.Can any one provide solution to this.
Code for Populating Data into formfield when you select checkbox ina grid view.
Dim indx As Integer Dim connectionString As String = "Database=xxxx;" & "Data Source=localhost;" & "User Id=root;Password=xxxx" Dim query As String = "SELECT QuoteNumber,Revision,Vendor,PartNumber FROM quotes order by QuoteNumber" Dim connection As New MySqlConnection(connectionString) Dim da As New MySqlDataAdapter(query, connection) Dim ds As New DataSet() Dim myAdapter As New MySqlDataAdapter myAdapter = New MySqlDataAdapter(query, connection) myAdapter.Fill(ds, "QUOTES") Dim dt As DataTable = New DataTable() 'DataTable Initializes a new instance of the DataTable class with no arguments. da.Fill(dt) Dim checkbox As CheckBox = CType(sender, CheckBox) checkbox.Checked = True Dim row As GridViewRow = CType(checkbox.NamingContainer, GridViewRow) Dim i As Integer For i = 0 To dt.Rows.Count - 1 Step i + 1 If (dt.Rows(i)("QuoteNumber").ToString = row.Cells(1).Text.ToString()) Then indx = i End If Next DDQuote.Text = dt.Rows(indx)("QuoteNumber").ToString() txtRev.Text = dt.Rows(indx)("Revision").ToString() DDVend.Text = dt.Rows(indx)("Vendor").ToString() txtPart.Text = dt.Rows(indx)("PartNumber").ToString()
I have a dropdownlist which gets the data from the oracle database, the values that contains quotes example "Apple's" or "Website's" or not getting seelcted from the list except these values remaining values have no issues.
my c# web application populating dropdowns with datas at run time... i.e my web form contains 3 dropdowns and one gridview.. dropdown1 populate with 'pgmtitle' which is fetch from database,when user select one item-pgmtitle from dropdown1,participants(BadgeNo,Name) of that pgm will be populated in gridview. when user click on the participant badgeno,dropdownlist3 will poputated with recieving officers name.. wen user select one of the recieving officer from dropdown3,his designation is dispalyed in a textbox,and dropdon2 will populated with feedback sentdate... this is my requirement... and my pblm is, when i choose another pgmtilte(say pgmtilte2) from dropdownlist1,previous value associated with(pgmtilte1) appended with dropdown2 and dropdown3.. here is my HTML code:-
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?
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?
I have a hidden value field on a page. On submit I post to a different page. On the page I've posted to I do a Request.Form but I do not get the value just a null value. This is the initial page
The javascript ViewCancellation function is set to a hyperlink in the code behind. The function will have a value like this,<a href="#" onclick=" View Cancellation(54666);return false;">cancel</a>.