DataSource Controls :: Dropdown List Causing Error When AppendDataBoundItems Is True
Jul 22, 2010
I have a dropdown list where the user can select a name, on change event populates a Session variable and at the same time populates a formview with the full record detail. I want to add a List Item that states "Select Name" but when I add this the page errors. Input string was not in a correct format.
Description:
An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details:
System.FormatException: Input string was not in a correct format.
Because the value returned from the dropdown list box is a string and not a numeric equal to the first name in the list.
AppendDataBoundItems is = true
AutoPostBack is = true
because I want to update the page as a differnent name is selected. I guess I need to not load the form until an actual first name is selected. Uncertain how to prevent the Formview from loading at page load an until a name is selected and not when the dropdown is set back to "Select Name"
I'm having a problem sorting a dropdown that I've bound to a SQL Server data source. I've narrowed the problem down to the fact that I have a static item at the top of the dropdown with the data-bound items appended afterwards. If I remove the static item (<asp:ListItem Value="-1" Text="All" />) the ORDER BY part of the select clause works fine. How can I get around this issue? What I would like is to have the "All" static item at the top of the list with the data-bound items sorted alphabetically afterwards. I'm using Visual Studio 2010 and ASP.NET 4 if it makes any difference.
I am having an issue when trying to update a ModifiedDateColumn in the database via LINQ. I am setting the ModifiedDate property (which is a DateTime in both SQL Server and my code) using DateTime.Now. I am getting an error where LINQ is generating too many precisions when generating the SQL to execute. Here is what the LINQ is generating (see @p3 & @p5)
[Code]....
How do I get LINQ to only generate to only 3 decimal places?
I am getting the following error as Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> 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. when an invalid value is passed in dropdown with autopostback=true. What should I do. I want the solution with "EventValidation=true" and "ValidateRequest=true" in the Page directives. Also without any Custom Error Pages Enabled in web.config file i.e Custom Error Pages are off in web.config file.
I am stuck at this point "Displaying a dropdown list of Categories with a --None -- Option. I want the gridview control to display 2 dropdown list one in read-only mode and the other in edit mode. When a record is in read-only mode, the dropdownlist's enabled property will be set to false."When it's on a read-only mode, it doesn't display the selected Category. it shows but the "No Category". When i click on edit to edit or change category, it doesn't display the selected category.
The example is given below( I am reading the book Sams Teach yourself ASP.NET 2.0 by Scott Mitchell. page 628)
<asp:Label ID="UserIdValue" runat="server" Visible="False"></asp:Label> <asp:SqlDataSource ID="picturesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Pictures] WHERE ([UserId] = @UserId) ORDER BY [UploadedOn] DESC" DeleteCommand="DELETE FROM [Pictures] WHERE [PictureID] = @PictureID" InsertCommand="INSERT INTO [Pictures] ([UserId], [CategoryID], [Title], [Description], [UploadedOn]) VALUES (@UserId, @CategoryID, @Title, @Description, @UploadedOn)" UpdateCommand="UPDATE [Pictures] SET [UserId] = @UserId, [CategoryID] = @CategoryID, [Title] = @Title, [Description] = @Description, [UploadedOn] = @UploadedOn WHERE [PictureID] = @PictureID"> <DeleteParameters> <asp:Parameter Name="PictureID" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="UserId" /> <asp:Parameter Name="CategoryID" Type="Int32" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="UploadedOn" Type="DateTime" /> </InsertParameters> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text"/> </SelectParameters> <UpdateParameters> <asp:Parameter Name="UserId"/> <asp:Parameter Name="CategoryID" Type="Int32" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="Description" Type="String" /> <asp:Parameter Name="UploadedOn" Type="DateTime" /> <asp:Parameter Name="PictureID" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> <br /> <asp:SqlDataSource ID="categoriesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [CategoryID], [Name] FROM [Categories] WHERE ([UserId] = @UserId)"> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> <br /> <asp:SqlDataSource ID="maxPictureIDDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT MAX(PictureID) FROM Pictures WHERE UserId = @UserId"> <SelectParameters> <asp:ControlParameter ControlID="UserIdValue" Name="UserId" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> <br /> <asp:Label ID="cannotUploadImageMessage" runat="server" Text="The photo could not be added to your album either because you did not specify a file to upload or the file specified was not a JPEG image with the file extension .JPG"></asp:Label> <br /> <asp:DetailsView ID="dvPictureInsert" runat="server" DataSourceID="PicturesDataSource" Height="50px" Width="125px" AutoGenerateRows="False" CellPadding="4" DataKeyNames="PictureID" DefaultMode="Insert" ForeColor="#333333" GridLines="None"> <AlternatingRowStyle BackColor="White" /> <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" /> <EditRowStyle BackColor="#2461BF" /> <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" /> <Fields> <asp:TemplateField HeaderText="Picture"> <InsertItemTemplate> <asp:FileUpload ID="imageUpload" runat="server" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="imageUpload" Display="Dynamic" ErrorMessage="There was no file selected" ValidationGroup="PictureAdd"></asp:RequiredFieldValidator> </InsertItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Category" SortExpression="CategoryID"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CategoryID") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="pictureCategory" DataSourceID="categoriesDataSource" runat="server" DataTextField="Name" DataValueField="CategoryID" SelectedValue='<%# Bind("CategoryID") %>' Visible='<%# Bind("CategoryID") %>' AppendDataBoundItems="True"> <asp:ListItem Selected="True" Value="">-- Select Category --</asp:ListItem> </asp:DropDownList> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("CategoryID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Title" SortExpression="Title"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Title") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Title") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="you must provide a name for the title" ValidationGroup="PictureAdd"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("Title") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Description" SortExpression="Description"> <EditItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Description") %>'
I want to insert into database with the following code. I want the Appliers instead of Choice to be inserted. Now this code insert the Choice field only
I build a webpage to edit the data entry, all the textbox wroks fine. However when I update the value originally took in using dropdown list , I get error and couldn't get correct update.
I have a DropDownList in my page, it DataBind with a objectDataSource.
when user select an option base that i have a FormView that show the detail of selected option an it also work with an othere ObjectDataSource.
when user insert, delete or edit an option for example the name of option will in edit mode changed and i need the DropDownList be refresh that show the new name of option.
i alredy know where should i write the code but i don't know how to refresh the DropDownList without dataBind the DropDownList because AppendDataBoundItems="True".
I've got a Dropdownlist with CategoriesI've also got a Listbox with Items filled using the selection from the DDL (autopostback=true).I have a SQLDataSource for each one.the DDL populates perfectly. the listbox SQL DataSource uses a stored procedure, that, on its own works perfectlyIt works well just as outlined above. However, when I add the following properties to the DDL, I get an error: appendDataBoundItems=true and '--Select--' (tried 'Select' also) as an item the error is:Input string was not in a correct formatI also set up the sqlDataSource selecting event handler, so that it would check for 'Select' first, but it bypasses that handler when debugging, and goes straight to the error msg
I'm trying to follow this article on cascading dropdown list in a GridView control in edit mode (except I'm using C#) [URL] I keep getting this error message "ProjectID is neither a DataColumn nor a DataRelation for table DefaultView."
I'm new to Linq. I have searched and searched the web for a soluion, and can't find anything. I have a Linq query and I want to insert a row ("Select User") to the top before I pass it to the drop down list. I've been trying to use the Union but to now avail (it keeps telling me that my object doesn't support the Union method). My code, prior to attempting to inser a row, is very simple.
public SelectList DropDown_Users() { var context = new VivarianDataContext(); var query = from t in context.AspnetUsers select new { t.UserId, t.LastName }; list = new SelectList(query.AsEnumerable(), "UserId", "LastName"); return list; }
Now I try to insert a row and I found this on the internet and it seems to say that his solution will work. But it is filled with syntax errors. [URL]
I tried to implement it using the following code, but it doesn't compile.
public SelectList DropDown_Users() { SelectList list; //get the original data var context = new SQL2005633131VivarianDataContext(); var query = from t in context.AspnetUsers select new { t.UserId, t.LastName }; //create a dummy table with an empty row var AllUsers = new List<AspnetUsers>(); var BlankUser = new AspnetUsers() {UserId=System.Guid.Empty, LastName="Select One"}; AllUsers.Add(BlankUser); //use Union to join the data - ERRORS HERE var newTable = AllUsers.Union(query); list = new SelectList(newTable.AsEnumerable(), "UserId", "LastName"); return list; }
I have already stored value of author id in list item value while page loads. but when I change index of drop down list to view author information error is shown. I tried to debug using check points and it seems Sqlreader isn't reading database second time.
I have some dropdown list boxes that I need to fill with data from a database but I also need the first option to be "Show All"... So I need to combine using a datasource and manually adding an item to the top of the list. I have tried two different ways with no luck:
1. with the appendDataboundItems = true, on aspx page, and below code in codebehind:
I have a databound dropdownlist and have a problem with the default value it selects.When I attempt to edit a record the dropdownlist shows the first value in the list rather than the current value. I want the dropdown list to display the current value.
I'm sure this is very simple but I'm very new to ASP.NET.
I am writing queries with CONVERT function. I have more than 200 columns in query. I am processing each row and write it to file.I need to log all errors occured during process. I need to capture column which is causing exception (Arithmetic overflow error converting numeric to data type varchar.) and log it in other file and send to administrator.
I may just thinking wrong about this but I have a problem that is causing me to want to pull my hair out:
I have two DropDownLists. Call them ddl1 and ddl2. I am binding ddl1 to a DataTable on page_load using if not IsPostBack and allowing view state to keep it populated.
I am then binding ddl2 to another DataTable based on the selected item in ddl1 on the SelectedIndexChanged event on ddl1. My problem is that when I set ddl2's AppendDataBoundItems="true", it just appends the items in the DataTable each time I select a new ddl1 item, so that if I change the selected item in ddl1 3 times, I end up with items in ddl2 from the 2 previous selections as well as the current ddl1 selection.
This doesn't happen when I set ddl2's AppendDataBoundItems="false". Obviously, this is not desiariable behaviour.
I have 2 drop down lists.I have a very simple dropdown list #1 that diplays a title and holds an id value which is a GUID.I know it is getting this value and sending this value as I tested sending it to a label.I have the dropdown list #1 to autopostback to dropdown list #2 that "Is supposed to get" another title and value based on the GUID value of the first dropdown list. for some reason it wont return anything. I have done 100's of these but never based off a guid value.I assume the value needs to be converted to guid before selecting it in the second dropdown list.How can I do this? or is there something I am missing?
I have a dropdown list inside gridview which has a object data source and I am adding the list items as true, false which stores in the database table as a bit value. Even if i am addin the values 1 and 0 to the drop down list, its throwing the below error'grdDebug' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value My code to add the dropdownlist with list items are as below
I have a dropdown listbox whose datasource is a dictionary.
When I have added items to the list and try to select an item from the list, the item I selected does not get the focus. And this comes when I changed the property autopostback to true.
Here are some of the codes which are relevant to it.
In my database I have boolean column to declare if something is 'active'. In my web application I would only like one item to be able to have the 'active' status at once.
Therefore I have a radio button list in my aspx page to force the user to select one item. I know it is easy to set the selected item to true through my SQL update statement, but how do I automatically set everything else back to false/null!?