0

エラーメッセージがポップアップし続けます。また、コードを実行すると、まったく機能していないようです。別のページにデータを渡そうとしています。なにか提案を?これはメインページのコードです。

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();

これが2番目です。

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");
}
4

1 に答える 1

0

スタック トレースがないと、正確な問題が何であるかを知るのは困難です。ただし、グーグルの「フォーマット例外はユーザーコードによって処理されませんでした」に基づいて、decimal.Parse(totalRevenue);ステートメントの1つが問題である可能性があります。の文字列値totalRevenueは から設定さtotalRateLabel.Textれるため、最初に削除する必要がある特殊文字 (ドル記号など) がそのラベルに含まれていても驚かないでしょう。

于 2013-09-07T06:50:45.783 に答える