Вам нужно построить URL-адрес, используя javascript / jquery. В представлении измените ссылку на
<a id="export" href=#">Export as CSV</a>
Затем в скрипте
var baseurl = '@Url.Action("Export")';
$('#export').click(function() {
var url = baseurl + '?SelectedAccountType=' + $('#SelectedAccountType').val() + '&FromDate=' + $('#FromDate').val() + '&ToDate=' + $('#ToDate').val() + ...etc
location.href=url;
});
Однако, если ваша форма отмечена FormMethod.Get
, вы можете просто использовать обычный режим отправки и не требуется jquery
@using (Html.BeginForm("Export", "yourControllerName", FormMethod.Get))
{
@Html.TextBoxForm(m => m.SelectedAccountType)
....
<input type="submit" value="Export" />
}
Я использовал SchemaUpdate Hibernate для выполнения той же функции как миграции. Это на самом деле легче, чем миграции, потому что каждый раз Вы запускаете свое приложение, это исследует структуру базы данных и синхронизирует его с Вашими отображениями, таким образом, нет никакого дополнительного шага rake:db:migrate, и Ваше приложение никогда не может быть вне синхронизации с базой данных, против которой это работает. Будьте в спящем режиме отображая файлы, не более сложны, чем миграции направляющих поэтому, даже если Вы не использовали, в спящем режиме в приложении, Вы могли бы использовать в своих интересах его. Оборотная сторона - то, что это не столь гибко до отката, мигрируя вниз, выполняя операторы DML. Как указано в комментариях, это также не отбрасывает таблицы или столбцы. Я выполняю отдельный метод сделать тех вручную как часть Быть в спящем режиме процесса инициализации.
я не вижу, почему Вы не могли использовать миграции направляющих, хотя - пока Вы не возражаете устанавливать стек (Ruby, Грабли, направляющие), Вы не должны были бы касаться своего приложения.
Grails имеет утилита dbmigrate, которая сделана по образцу того от направляющих. Так как это реализовано в Groovy, необходимо быть в состоянии использовать его из любого из проектов Java.
Также есть две независимые реализации рельсовых миграций для Java:
1) Миграции на основе Maven из Carbon Five
2) Задачи на основе Ant из Hashrocket (мой личный фаворит)
Хотя эти пакеты были написаны специально для Maven и Ant, немного поработав, вы можете адаптировать их практически ко всему.
Liquibase - еще один проект в этой области, который стоит проверить .
Migrate4j кажется кандидатом, но проект не выглядит достаточно зрелым для использования в производстве.
Я наткнулся на это сообщение, когда исследовал тот же вопрос. Я еще не пришел к каким-либо выводам о лучшем инструменте или подходе, но один инструмент, с которым я столкнулся, который пока не упоминался в других ответах, - это dbdeploy . Мне было бы интересно прочитать любые сравнения этих инструментов.
Некоторые другие соответствующие ресурсы: несколько устаревшая публикация Мартина Фаулера и Прамода Садаладжа о Evolutionary Database Design и книга Refactoring Databases: Evolutionary Database Design Садаладжа и Скота Амблера.