Лучшая практика для отправки данных Сетки в ASP.NET MVC 2 с Представления на Контроллер

Я плохо знаком с ASP.NET MVC 2 и хотел бы знать то, что самая легкая и/или лучшая практика должна отправить "данным сетки" с Представления на Контроллер. Думайте об этих "данных сетки" как об электронной таблице Excel, где некоторые столбцы будут иметь некоторые данные, и некоторые строки будут иметь некоторые данные. В контроллере я должен знать не только, какой столбец и строка содержат данные, но также и определенные данные, которые это содержит. Моя надежда состояла бы в том, чтобы иметь "объект сетки" в классе контроллера, до которого я мог циклично выполниться, собирают необходимые данные, но я открыт для других опций.

Очевидно, это, вероятно, не самый легкий способ собрать данные как это, но просто предположить, что это - единственный способ, которым Вам разрешают получить этот вход от пользователя.

Также я использую VS.NET 2010, ASP.NET 4.0, C# 4.0, таким образом, я думал о не использовании ASP.NET MVC 2 и использовании веб-форм ASP.NET, так как это кажется, это решение было бы легче в веб-формах. Мое единственное беспокойство с выполнением, которое является, существует другие аспекты веб-сайта, который был бы легче в MVC, и это, кажется, единственная проблема в этой точке с использованием MVC.

Спасибо, Paul

1
задан Paul 12 August 2010 в 13:19
поделиться

1 ответ

Это во многом будет зависеть от того, как вы настроите свой стол. Но вот очень простой пример:

1 - поместите вашу таблицу отверстий в форму;

2 - Идентифицируйте каждое поле ячейки данных с его "координацией"

Вот так:

<%: using(form = html.Form("UpdateGrid")) { %>
    <table>
<%     for (int r = 0; r < rowCount; r++) { %>
        <tr>
<%         for (int c = 0; c < columnCount; c++) { %>
            <td><%: html.TextBox(string.format("cell_{0}_{1}",r,c)) %></td>
<%         } %>
        </tr>
<%     } %>
    </table>
<% } %>

Это просто пример кода (Я не уверен, будет ли это работать как есть), но это даст вам представление. Если вам нужен адрес, подобный Excel, вы можете использовать это:

            <td><%: html.TextBox(string.format("{1}{0}",(char)(r + 'A'),c  + 1)) %></td>

Для доступа к информации таблицы из контроллера вы можете использовать следующий конус:

public ActionResult UpdateGrid(FormCollection form) {
    // ... Some initialization
    for (int r = 0; r < rowCount; r++ ) {
        for (int c = 0; c < columnCount; c++ ) {
            var cellValue = form[string.format("{1}{0}",(char)(r + 'A'),c  + 1)]; // Excell like format
            // Add your manipulation here;
        }
    }
    // ... Continue your controller implementation
}
2
ответ дан 2 September 2019 в 22:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: