Web Forms :: Dropdownlist Value Not In Different Table Produce An Error
Nov 30, 2010
I'm trying to do just as the title of this thread says:
I have a dropdownlist and to pick a client, and if there is no assignments (a different table) with that client in it I want the page to produce an error messagebox instead of going to the postbackURL.What would be the easiest way to do this?
Example site: [UL] In the left hand part of the page(refine result pane), how can I produce links/list like that? What control is used in that?? I know it has to use the data queried on the first page.
I am working on a web app for an online photo album. It is the last project in Scott Mitchell's book: "ASP.Net 2.0 in 24 hours".
I am creating a page where users can enter new photo images. The functionality for uploading an image will come later. I am working on just inserting a new row into the Pictures table with an optional category, a required title and a required description.
I am getting an error when I try to insert a new row.
Here is a screenshot of the page with a shot of the dropdown list.
The Categories are user-specific. I am getting the correct values retrieved.
[URL]
There are two pretty simple database tables involved here.
NOTE: The CategoryID and PIctureID are both autoincrement integer columns.
[URL]
The page uses a DetailsView that uses a SqlDataSource that uses the Pictures table. (The DetailsView's Default Mode property is set to "Insert". The "Enable Inserting" checkbox is also checked.)
The dropdown list uses a dropdown control that uses a SqlDataSource that uses the Categories table.
When the "Insert" button is clicked the CategoryID value associated with selected (Category) Name on the dropdown list will be used along with the Title and Description values to insert a row in to the Pictures table. (If no Category value is selected, then a null value will be used for the CategoryID. This is OK because the CategoryID column in the Pictures table allows nulls.)
My problem is that I am getting this error:
Cannot insert explicit value for identity column in table 'Pictures' when IDENTITY_INSERT is set to OFF.
(FYI: I have the full version of both Visual Studio and SQL Server.)
I need to write a query to populate a gridview with minimum rates in ascending order for a month from three tables.For example i have three tables A,B,C as follows
TABLE A TABLE B TABLE C Id id id Quote_no Quote_no Quote_ no Name Rate1 Equip_name Rate2 E_rate Date R1_rate R2_rate Date
Now if the data is as follows
I need to get the Name from Table A ,minimum Rate1 and Rate2 values for a month in a dropdownlist from date field from Table B and the corresponding minimum rate(E_rate) for Equipment E1 and E2 only from Table C for the month in ascending order group by Name.
TABLE A
id Quote_no Name 1 101 XYZ
2 102 ABC TABLE B id Quote_no Rate1 Rate2 Date
1 101 105 200 12/11/2010
2 102 90 210 15/11/2010
TABLE C id Quote_no Equip_name E_rate R1_rate R2_Rate Date
I currently have a gridview that is displaying tabular data from an sqldatasource that looks something like this:
[code]....
Since I have an unpredictable number of categories coming from the database, I would like to continue to use a single datasource with only one query to the database. There is no editing, it is simply for display purposes. What's the simplest way?
I have a dropdown box control, populated by an Access data source, and linked to a form control which renders an appropriate record detail when a selection is made. All works as intended. My issue is that each rendering of the page shows the dropdown box carrying the link to the first record, with the detail portion of the page already complete with the information for that record.
I'd much prefer that the dropdown box would carry some text, like "Click to select..." leaving the detail part of the page empty at the first iteration of the page, allowing the user to pick the first record. I can't seem to find any way around this problem with the control or the data, unless I add a record at the top of the file that carries the text.
I need to produce a simple graphic which is a simple rectangle (bar) with a variable portion filled in to denote a percentage.
What is the best way to achieve this? I had a look at the .net charting tools but the nearest I could find to what I needed was the barchart which didn't quite seem to meet my needs for a single value.
I want to output some dynamic data from an ASP.NET website to Excel. I found that the easiest way which does not require to use Excel XML or to install Excel on server machine is to output data as a table and specify application/vnd.ms-excel type
I am trying to create a custom datasource control. I have been following this article to the letter (I think...). I have a skeleton / basic implementation of my datasource, however when I declare it in the markup and try to statically bind it to a gridview, I receive the following error:
The DataSourceID of 'grdVw' must be the ID of a control of type IDataSource
This seems extremely strange to me, since my datasource inherits from DataSourceControl, which in turn implements IDataSource. Even if I explicitly implement IDataSource in my custom datasource, it makes no difference. My Markup is:
Public Class DataBrokerDataSource Inherits DataSourceControl Implements IDataSource 'Have tried with this statement included AND excluded = same result Protected Overrides Function GetView(ByVal viewName As String) As System.Web.UI.DataSourceView Implements IDataSource.GetView 'Code here End Function Protected Overrides Function GetViewNames() As System.Collections.ICollection Implements IDataSource.GetViewNames 'Code here End Function End Class
Looking at the stack trace shows that the error originates at: System.Web.UI.WebControls.DataBoundControl.GetDataSource().
I have examined this method in reflector (see below), looking at this (based on the error message that I am getting) it appears to me as though the FindControl part is succeeding but that the source = control as IDataSource; leaves source as a null value, i.e. the conversion fails - But Why?
protected virtual IDataSource GetDataSource() { if ((!base.DesignMode && this._currentDataSourceValid) && (this._currentDataSource != null)) { return this._currentDataSource; } IDataSource source = null; string dataSourceID = this.DataSourceID; if (dataSourceID.Length != 0) { Control control = DataBoundControlHelper.FindControl(this, dataSourceID); if (control == null) { throw new HttpException(SR.GetString("DataControl_DataSourceDoesntExist", new object[] { this.ID, dataSourceID })); } source = control as IDataSource; if (source == null) { throw new HttpException(SR.GetString("DataControl_DataSourceIDMustBeDataControl", new object[] { this.ID, dataSourceID })); } } return source; }
All ASP.Net client validation messages can be shown as an alert by setting the ShowMessageBox="True" property on the ValidationSummary control. This works fine for anything that happens on the client.
For the custom validators that validate server-side I had assumed that what would happen is that when the page is returned to the browser, ASP.Net would inject some javascript to show the alert box. However this isnt the case.
If you had relied on the message box to show detail and just have a * next to the erroneous field (as per my clients req's) then it wont work as intended. Does anyone have a solution for doing this? What I want is a way to possibly override the ValidationSummary control to inject javascript onto the page or something like this.
I've written a ASP.NET app that I hope to sell to businesses, I could host the trial but it's designed to connect to the customers data so customers will certainly want to install it to do a successful evaluation.
I've never produced anything commercial before so I'm looking for advice on how best to limit the trial, a 30 day trial seems most common, do you simply rely on the clock of the PC/Server they install it on? keep in mind this is ASP.NET app so will be installed on their web server.
I have a formview with insert function into "table1". In that formview i also have a dropdownlist listed with records from "table2". (This dropdown is of course instead of a textbox). get "table1" inserted when one of the field is from a different table?
This must be something not very difficult but I am pretty new in C# and have a problem to resolve.
I have tree dropdownlist controls. One of the control values are dates. When client selects all three drop downs then I am passing values to SQL table. Everything works but one. Date value shows 1900-01-01 instead of selected value in SQL table. I am not passing date value correctly but can't figure out how to do it.
I have a gridview which gets its data from a database tablenow i ghave added a dropdownlist to this gridview but this dropdown should get the data from another table and should set its value automatically with a foreign key from the gridviewi have added the code like below in my rowDatabound but it just loads 1 field and then how should i get the selectedValue according to the gridview id field??
Protected Sub Friends_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then Dim conn As New SqlConnection(HttpRuntime.Cache("con"))
I have a C# project in Visual Studio that produces an aspx page. The code I am editing is in default.asp.cs. When I build the project a file default.aspx is produced. This file looks something like this:
When I make my web request most of this page comes back. But I want the page to return only plain text and not any of this HTML. How do I configure things so that nothing is returned except what I add via Response.Write calls in default.aspx.cs?
I have code that another member assisted with and is working great. Now that the page is working more and more like it should with the remaining requirments. I have something else i would like to implement.
Since the code i have automatically creates / generates a table with textboxes and labels based on a drop down selection. I would like to know how to clear the textboxes if they chose 0 from the dropdown. Or if they select "No" on the radiobutton, then that means they have nothing to provide, so i dont want to capture something that they may have entered before changing their mind.
Here is the code the generates the tables and textboxes, i just need to setup, so that if they select "NO" from the radiobutton or if they select "0" from the dropdown that the textbox values, if any, are cleared so that we dont get inconsistant data captured.