如何在 MVC 4 和 Razor 引擎中添加多行

本文关键字:引擎 添加 Razor MVC | 更新日期: 2023-09-27 18:31:14

我正在 mvc 4 和 razor 中创建财务应用程序。一个日记可以有多个条目。和 日记帐 如果没有日记条目,则无法创建日记帐

以下是我的模型

using Sms.Core;
using System;
using System.Collections.Generic;
namespace Sms.CoreSociety
{
    public class Journal : BaseClass
    {
        public Journal()
        {
            this.JournalEntries = new List<JournalEntry>();
        }
        public virtual string VoucherNo { get; set; }
        public virtual DateTime VoucherDate { get; set; }
        public string VoucherDateView
        {
            get
            {
                return VoucherDate.ToShortDateString();
            }
        }
        public IList<JournalEntry> JournalEntries { get; set; }
        public IList<Ledger> Accounts { get; set; }
        public double TotalAmount
        {
            get
            {
                double sum = 0;
                if (JournalEntries != null && JournalEntries.Count > 0)
                    foreach (var journal in JournalEntries)
                        sum = journal.Principal + journal.Interest + sum;
                return sum;
            }
        }
    }
}

以下是我的观点

@model Sms.CoreSociety.Journal
@{
    ViewBag.Title = "Create";
}
@using (Html.BeginForm(null, null, FormMethod.Post, new Dictionary<string, object>() { { "class", "form-horizontal" }, { "id", "document" } }))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <div class="row">
            <div class="span1">
                <label>
                    Voucher No</label>
            </div>
            <div class="span5">
                @Html.TextBoxFor(model => model.VoucherNo)
            </div>
        </div>
        <div class="row">
            <div class="span1">
                <label>
                    Voucher Date</label>
            </div>
            <div class="span5">
                @Html.TextBoxFor(model => model.VoucherDate)
            </div>
        </div>
        <div class="row">
            <div class="span1">
                <label>
                    Amount</label>
            </div>
            <div class="span5">
                @Html.TextBoxFor(model => model.TotalAmount)
            </div>
        </div>
        @Html.TextBox("JournalEntries[0].AccountName", Model.JournalEntries.FirstOrDefault().AccountName)
        @Html.TextBox("JournalEntries[0].DebitCredit", Model.JournalEntries.FirstOrDefault().DebitCredit)
        @Html.TextBox("JournalEntries[0].Interest", Model.JournalEntries.FirstOrDefault().Interest)
        @Html.TextBox("JournalEntries[0].Narration", Model.JournalEntries.FirstOrDefault().Narration)
        <input type="submit" value="Save" class="btn" id="submit" />
        @if (Model.Id != new Guid())
        {
            <div style="float: right">
                <a class="btn btn-danger" href='@Url.Action("Delete")/@Model.Id' aria-hidden="true">
                    Delete</a>
            </div>
        }
    </fieldset>
}
<h4>
    Journal Entry</h4>
<p>
@Html.ActionLink("Add Entry", "JournalEntry");

现在我能够获得日记和单个日记条目。但我的问题是我无法进行多个日记账分录。

这就是我正在寻找的,但在 MVC 4 和没有淘汰赛的剃须刀中.js

如何在 MVC 4 和 Razor 引擎中添加多行

为了实现你的目标,你需要通过jquery,ajax和分部视图做一些额外的工作。

这里有一个简短的例子。完整的操作方法在这里。