0

TextBoxForを使用して編集可能なフィールドを表示しています。「150」の値を表示するにはこのフィールドが必要ですが、値を変更できます。

使ってみましたが、うまくいき@Html.TextBoxFor(m => m.MembershipDues, new { @Value = "150" })ません。

これが私のモデルのフィールドです:

[Required]
    [DataType(DataType.Text)]
    public decimal MonthlyPayment { get; set; }

    [Required]
    [DataType(DataType.Text)]
    public decimal MaintenanceFees { get; set; }

    [Required]
    [DataType(DataType.Text)]
    public decimal MembershipDues { get; set; }

    [Required]
    [DataType(DataType.Text)]
    public decimal ExchangeFees { get; set; }

    [Required]
    public string Duration { get; set; }

    public decimal AnnualPayment { get; set; }
    public decimal AnnualMaintenance { get; set; }
    public decimal AnnualTotal { get; set; }
    public decimal TenYearPayment { get; set; }
    public decimal TenYearMaintenancePercentage { get; set; }
    public decimal TenYearMembershipAndExchange { get; set; }
    public decimal TenYearTotal { get; set; }
    public decimal AnnualVacationCost { get; set; }

これが私の行動です

        [OutputCache(Duration = 60)]
    public ActionResult CalculationView()
    {         
        return View();
    }

    [HttpPost]
    [OutputCache(Duration = 60)]
    public ActionResult Index(CalculaterModel cm)
    {
        if (ModelState.IsValid)
        {
            if (cm.Duration == "Annual")
                cm.AnnualMaintenance = cm.CalculateMaintenanceFeesAnnually(cm.MaintenanceFees);
            else if (cm.Duration == "Monthly")
                cm.AnnualMaintenance = cm.CalculateMaintenanceFeesMonthly(cm.MaintenanceFees);

            cm.AnnualPayment = cm.MonthlyPayment * 12;
            cm.AnnualTotal = cm.AnnualPayment + cm.AnnualMaintenance;
            cm.TenYearPayment = cm.AnnualPayment * 10;

            decimal percentage = .08m;
            decimal cost;
            int i = 1;
            decimal rate = cm.AnnualMaintenance;
            while (i <= 10)
            {
                cost = rate * percentage;
                rate = cost + rate;
                cm.TenYearMaintenancePercentage = cm.TenYearMaintenancePercentage + rate;
                i++;
            }
            decimal MDF = cm.MembershipDues + cm.ExchangeFees;
            cm.TenYearMembershipAndExchange = MDF * 10;
            cm.TenYearTotal = cm.TenYearMembershipAndExchange + cm.TenYearMaintenancePercentage + cm.TenYearPayment;
            cm.AnnualVacationCost = cm.TenYearTotal / 10;
            return View(cm);
        }
        return View();
    }

テキストボックスに「150」を表示して編集可能にする必要があります。 どんな助けでも大歓迎です。前もって感謝します!

4

1 に答える 1

2

ビューでモデルを指定しないと、Razor構文を使用して設定されていても、デフォルト値が設定されないという紛らわしい問題が発生することがあります。

変化する

return View();

var cm = new CalculaterModel();
return View(cm);

そして、それが機能するかどうかを確認します。

于 2012-07-24T19:16:57.913 に答える