2013-09-07 2 views
0

Le message d'erreur ne cesse de s'afficher. Aussi, quand je cours les codes, il semble que ça ne marche pas du tout. J'essaie de transmettre des données à une autre page. Toute suggestion? Ce est le principal code de la page,n'a pas été gérée par le code utilisateur dans C#

public partial class _Default : System.Web.UI.Page 
{ 
static int numBeachBookingInt = 0; 
static int numBushBookingInt = 0; 
static decimal totRevenue = 0; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    string totalRevenue; 
    if (Convert.ToString(Session["confirmBooking"]) == "confirm" && Convert.ToString(Session["bachType"]) == "bush") 
    { 
     totalRevenue = (string)(Session["totalRevenue"]); 
     totRevenue += decimal.Parse(totalRevenue); 
     totRevenueLabel.Text = String.Format("{0:c}", totRevenue); 
     numBushBooking += 1; 
     numBushHouseLabel.Text = numBushBooking.ToString(); 
     Session["confirmBooking"] = "no current booking"; 
     Session["bachType"] = "none"; 
    } 
    else if (Convert.ToString(Session["confirmBooking"]) == "confirm" && Convert.ToString(Session["bachType"]) == "beach") 
    { 
     totalRevenue = (string)(Session["totalRevenue"]); 
     totRevenue += decimal.Parse(totalRevenue); 
     totRevenueLabel.Text = String.Format("{0:c}", totRevenue); 
     numBeachBooking += 1; 
     numBeachHouseLabel.Text = numBeachBooking.ToString(); 
     Session["confirmBooking"] = "no current booking"; 
     Session["bachType"] = "none"; 
    } 
    numBeachHouseLabel.Text = numBeachBooking.ToString(); 
    numBushHouseLabel.Text = numBushBooking.ToString(); 

c'est le deuxième.

protected void confirmButton_Click(object sender, EventArgs e) 
{ 
    Session["confirmBooking"] = "confirm"; 
    Session["totalRevenue"] = totalRateLabel.Text; 
    switch (bachTypeRadioButtonList.Text) 
    { 
     case "Beach": 
      Session["bachType"] = "beach"; 
      break; 
     case "Bush": 
      Session["bachType"] = "bush"; 
      break; 
     default: 
      Session["bachType"] = "none"; 
      break; 
    } 
    Response.Redirect("MainBookingForm.aspx"); 
} 
+0

Mettez des instructions catch try si vous ne parvenez pas à voir l'exception lors de l'exécution dans le débogueur. Vous devez affiner quelle ligne, suggestion @musical_coder est un bon endroit pour commencer. – miltonb

Répondre

0

Il est difficile de savoir quel est votre problème exact sans trace de pile. Toutefois, en fonction de Googling "Exception de format n'a pas été déplacée par code utilisateur", il est probable que l'une des instructions decimal.Parse(totalRevenue); est le problème. Étant donné que la valeur de chaîne de totalRevenue est définie à totalRateLabel.Text, je ne serais pas surpris si cette étiquette contient des caractères spéciaux (comme un signe dollar) que vous devez supprimer en premier.

+0

Comme vous l'avez dit, la deuxième ligne totRevenue + = decimal.Parse (totalRevenue) ;, pas la première ligne totRevenue + = decimal.Parse (totalRevenue); provoque un problème .. mais je n'ai ajouté aucun caractère spécial dans le contrôle d'étiquette. – user2699500

+0

La cause du problème est que totalRevenue n'est pas analysable en décimal. Ce que je recommande est de consigner totalRevenue dans un fichier texte immédiatement avant d'appeler decimal.Parse(). Cela devrait rapidement révéler les mauvaises valeurs de totalRevenue. Dites-nous comment cela se passe. –

+0

Est-ce parce que je mets le totem décimal stérevenu? .. Je suis perdu un peu .. – user2699500

Questions connexes