Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Public property of class has incorrect value

Posted on 2009-05-05
4
Medium Priority
?
178 Views
Last Modified: 2013-12-17
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

0
Comment
Question by:allanmark
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 9

Expert Comment

by:tculler
ID: 24308248
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
 

Author Comment

by:allanmark
ID: 24308675
Tried changing "" to null, in the source -- how does one do that?
0
 
LVL 9

Accepted Solution

by:
tculler earned 1000 total points
ID: 24309376
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
 

Author Closing Comment

by:allanmark
ID: 31578179
Many thanks!
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question