Public property of class has incorrect value

Greetings all,

I have a DropDownList (ddlPortfolio_CI),  inside a FormView, that receives it's SelectedValue from another field (C_Portfolio) of the FormView. The dropDown also has a ListItem, added in source, to cater for null values (it;s value is set as ""  which is how a null value from the DB translates, and text as "-- None --",) read from the database.

The update method has as it's pararmeter an object which represents the fields of the FormView (saves tryping each field as a parameter).

When I update  with valid selection (ie sleecting anything other than "-- None --") then the update works fine. If I leave an entry as "-- None --" then I get an " is not a valid value for Int32" message[note: it is complainign about the "" value set for the added listitem] when updating - failure occurs in the public property, "C_Portfolio" of the parameter object.

Any thpoughts on what I should be doing?


In advance, thanks

    allanmark
SOURCE:
 
        <asp:FormView  ID="fvSpousal" runat="server" DefaultMode="ReadOnly" OnDataBound="fvSpousal_DataBound" DataSourceID="spousalODS"
                EnableViewState="true" DataKeyNames="C_Id,SP1_Id,SP2_Id" CssClass="smallFontSize" OnModeChanging="fvSpousal_ModeChanging" 
                OnItemCommand="fvSpousal_ItemCommand" OnItemUpdating="FvSpousal_ItemUpdating" >  
 ................
..................
...................
 <asp:DropDownList  ID="ddlPortfolio_CI" runat="server" DataSourceID="portfolioODS" DataTextField="PF_Title" DataValueField="PF_Id"
                       SelectedValue=<%# Eval("C_Portfolio") %> AppendDataBoundItems="true" Enabled="false">
                    <asp:ListItem Text="--- None ---" Value="" />
                    </asp:DropDownList>                    
........................
.....................
............................
        </asp:FormView>                       
 
        <asp:ObjectDataSource ID="spousalODS" runat="Server" SelectMethod="GetCouple" TypeName="BusinessLogic.Business" 
    OnSelected="spousalODS_Selected" OnSelecting="spousalODS_Selecting" UpdateMethod="SpousalODS_Update" 
     OldValuesParameterFormatString="{0}" DataObjectTypeName="DataTransferObjects.SpouseODS_DO"  OnUpdated="SpousalODS_Updated"   >
            <SelectParameters >
               <asp:QueryStringParameter Name="CoupleId"   DbType="Int32" Direction="Input"  />
            </SelectParameters>           
         </asp:ObjectDataSource>  
                         
 
CODE BEHIND (THE UPDATE M<ETHOD):
 
public static bool SpousalODS_Update(SpouseODS_DO spousal)
        {
            bool updateStatus;
 
            updateStatus = DataAccess.ApplyUpdateSpousal(spousal);
            
            return updateStatus;
        }
 
CODE BEHIND (THE CLASS FOR THE PARAMS OBJECT):
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace DataTransferObjects
{
    public class SpouseODS_DO
    {
        private int c_Id;
        private string c_Surname;
        private int? c_Portfolio;
	......................
	...................
	.................
 
        public SpouseODS_DO()
        {
 
        }
 
        public int C_Id
        {
            get { return c_Id; }
            set { c_Id = value; }
        }
 
        public string C_Surname
        {
            get { return c_Surname; }
            set { c_Surname = value; }
        }
 
        public int? C_Portfolio
        {
 
            get { return c_Portfolio; }
            set { c_Portfolio = value; }       
 
            }
        }
 
	...............
	...........
 
    }
}

Open in new window

allanmarkAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
tcullerConnect With a Mentor Commented:
Just set whatever field you're trying to change to null " = null;"
For example, if I have a TextBox named txtExample, and I want the text to be "null", I would do the following:
txtExample.Text = null;

Open in new window

0
 
tcullerCommented:
Remember that anything other than a number is unparseable. You need to change "" to null if you're storing it in a nullable int, and certainly from "-- None --" to null, as well. An empty string is not parseable.
0
 
allanmarkAuthor Commented:
Tried changing "" to null, in the source -- how does one do that?
0
 
allanmarkAuthor Commented:
Many thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.