0

我正在创建我的第一个 MVC 网站。在网站上,我需要创建一个页面,允许用户从存储在我的模型数据库中的对象中进行选择,输入一些附加数据(在文本字段中),然后单击一个按钮并进行计算,返回一个结果表。这些结果将不会存储在数据库中。此外,此数据表可能会根据选择的对象而改变列数等。

使用 MVC 执行此操作的最佳方法是什么?它不是标准的 CRUD 操作,我研究的所有 MVC 教程都只真正涵盖了 CRUD 操作。

4

2 回答 2

1

在您的视图中,只需生成所需的 HTML 代码。在下文中,我假设SelectedObject是您的用户选择呈现为表格的对象。

<table>
@for (int row = 0; row < SelectedObject.Rows; row++) {
    <tr>
    @for (int col = 0; col < SelectedObject.Columns; col++) {
        <td>@SelectedObject.GetDataFor(row, col)</td>
    @}

    </tr>
@}
</table>
于 2012-07-09T17:54:40.377 回答
1

ASP.NET MVC 页面可以对任何类(包括 .Net 类)进行强类型化或完全非类型化,这没什么大不了的。

在你的位置,我会使用一个DataTable对象(来自 System.Data)。您还可以签署结构或将字典列表传递给视图,但要实用。

您的操作(在控制器处):

[HttpPost]
public ActionResult DoMath(int yourArguments)
{
    System.Data.DataTable yourTabularResults = new System.Data.DataTable();

    //your magic

    return View(yourTabularResults);
}

而你的观点:

@model System.Data.DataTable

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>DoMath</title>
</head>
<body>
    <div>
        @foreach (System.Data.DataRow currentLine in Model.Rows)
        {
            //do your job
        }
    </div>
</body>
</html>

问候

于 2012-07-09T17:54:59.933 回答