Я призываю вас избегать DataTables и DataSets, если это возможно. Их следует рассматривать как наихудший вид DTO, поскольку вы никогда не сможете гарантировать, что они содержат и когда (если вы не будете следовать цепочке вызовов обратно к их источнику и убедитесь, что они нигде не меняются в пути).
Используя правильные модели представления, вы узнаете, что они содержат, просто взглянув на них, а также можете поместить всю логику форматирования внутри них, а не в представление.
Я написал в блоге запись о том, почему вы должны использовать модели представления: http://blog.gauffin.org/2011/07/three-reasons-to-why-you-should-use-view-models/
Что касается вашего вопроса: самый простой способ - использовать jQuery / Ajax и возвращать Json (что легко, если вы используете правильные модели представления).
<script type="text/javascript">
$(function() { //<-- runs the script when the document has been loaded
$('#formid').submit(function() { // <--- hook form submit event
$.post('@Html.Action("CalcOne")?option='+ $('#id').val(), function(data) {
var result = data.result;
$.post('@Html.Action("CalcTwo")?option='+ result, function(data) {
//do third calc
});
});
});
});
</script>
А в вашем контроллере:
[HttpPost]
public ActionResult CalcOne(int option)
{
//do some calculations
return Json(new MyModel{ Result = option + 1 });
}