【问题标题】:Update table from model when changeing value MVC更改值 MVC 时从模型更新表
【发布时间】:2014-04-14 16:48:53
【问题描述】:

我的桌子是这样的:

@{var i = true;}
@{var rowID = 1;}
@foreach (var item in Model) {
    if (i)
    {
        <tr id="@rowID">
            <td align="center">
                @rowID
            </td>
            <td align="center">
            </td>
            <td align="center">
            </td>
            <td align="center">
            </td>
            <td align="center">
            </td>
            <td align="center">
            </td>
            <td align="center" id="startValue">
                @Html.DisplayFor(modelItem => item.StartValue)
            </td>
        </tr>
        i = false;
        rowID++;
    }
    <tr id="@rowID">
        <td align="center">
            @rowID
        </td>
        <td align="center">
            <div contenteditable>
                @Html.DisplayFor(modelItem => item.Date)
            </div>
        </td>
        <td align="center">
            <div contenteditable>
            @Html.DisplayFor(modelItem => item.InvoiceAmount)
            </div>
        </td>
        <td align="center">
            <div contenteditable>
            @Html.DisplayFor(modelItem => item.InterestRate)
            </div>
        </td>
        <td align="center">
            <div contenteditable>
            @Html.DisplayFor(modelItem => item.InterestAmount)
            </div>
        </td>
        <td align="center">
            <div contenteditable>
            @Html.DisplayFor(modelItem => item.Amortization)
            </div>
        </td>
        <td align="center">
            <div contenteditable>
            @Html.DisplayFor(modelItem => item.PresentValue)
            </div>
        </td>
    </tr>
    rowID++;
}

我已经在 div-tags 中使用它们使表格中的每个单元格都可编辑。模型相互依赖,这意味着第二行的对象依赖于第一行对象的属性值,依此类推。我不想从我更改的位置更新表格(如果我更改第 5 行,我希望下面的行根据我在第 5 行所做的更改而更改)。我不知道如何像这样更新表格,并且真的会为此提供一些帮助。

CalclationController 中创建模型对象的方法:

public ActionResult ShowDetail(FormCollection form)
    {

        List<Calculation> cList = new List<Calculation>();
        Calculation calc = new Calculation();
        calc.Date = Convert.ToDateTime(form["startdate"]);
        calc.InvoiceAmount = 2000;
        calc.InterestRate = Convert.ToDouble(form["InterestRate"]);
        calc.InterestAmount = (Convert.ToDouble(form["PresentValue"]) * Convert.ToDouble(form["InterestRate"]) / 360 * 30);
        calc.Amortization = (2000 - (Convert.ToDouble(form["PresentValue"]) * Convert.ToDouble(form["InterestRate"]) / 360 * 30));
        calc.PresentValue = Convert.ToDouble(form["PresentValue"]) - calc.Amortization;
        calc.StartValue = Convert.ToDouble(form["PresentValue"]);
        cList.Add(calc);
        for (int i = 0; i < Convert.ToInt32(form["PaymentPeriods"]); i++)
        {
            Calculation calcBefore = cList.Last();
            calc = new Calculation();
            calc.Date = calcBefore.Date.AddMonths(1);
            calc.InvoiceAmount = 2000;
            calc.InterestRate = Convert.ToDouble(form["InterestRate"]);
            calc.InterestAmount = (calcBefore.PresentValue * calc.InterestRate / 360 * 30);
            calc.Amortization = (calc.InvoiceAmount - (calcBefore.PresentValue * calc.InterestRate / 360 * 30));
            calc.PresentValue = calcBefore.PresentValue - calc.Amortization;
            cList.Add(calc);
        }
        return PartialView("ShowDetail", cList);
    }

那么,有什么方法可以从所选行和下面的行更新我的表格?

【问题讨论】:

    标签: c# asp.net-mvc model html-table


    【解决方案1】:

    您的意思是自动更改行数据取决于您刚刚编辑数据的行吗? 我认为您可以在完成编辑后使用 javascript 刷新下面的行,并使用 ajax 更新新数据

    【讨论】:

    • 是的,这就是我的意思……你有这方面的小例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 2013-05-26
    相关资源
    最近更新 更多