2013-09-14 2 views
1

Я создаю приложение для финансирования в mvc 4 и бритве. в том, что существует один модуль Journal. Один журнал может иметь несколько записей. и Журнал не может быть создан без ввода журнала.Как добавить несколько строк в mvc 4 и двигатель бритвы

Ниже моя модель

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

Теперь я могу получить журнал, а также единого журнала Входа. Но моя проблема в том, что я не могу сделать несколько записей в журнале.

This is what i am looking for but in MVC 4 and razor without knockout.js

+0

Я смущен. Вы хотите использовать нокаут или нет? В эту статью не входит knockout.js. – cem

+0

Я не хочу использовать knockout.js, у меня есть один exmple using knockout.js, я это пробовал, но когда я разворачиваю этот код, сервер не запускается. – Abhijit

ответ

2

Для достижения своей цели, вам нужно сделать некоторые дополнительные работы по JQuery, Ajax и частичным видом.

Краткий пример: here. Полное руководство here.

Смежные вопросы