Я думаю, что маловероятно, что сложная модель даст разумное строковое представление, которое может использовать JSON.stringify.Было бы лучше просто передать идентификатор элемента, который вы хотите загрузить обратно (предположительно, содержится в модели).Если загрузка означает то, что я думаю, она действительно должна вернуть FileResult, и вы не должны перенаправлять потом.Также нет необходимости использовать AJAX, так как загрузка файла не уведет вас со страницы.Я делаю некоторые большие предположения, основанные на ваших именах - если я ошибаюсь, вам действительно следует использовать лучшие имена.
[HttpPost]
public ActionResult DownLoadInstall(int id)
{
return SoftwareService.DownLoadInstall( ModelFromID(id) );
}
private SoftwareViewModel ModelFromID( id )
{
... populate the model needed for download from id ...
}
Клиент
function downLoadFile() {
location.href = '/software/downloadinstall/' + @Model.ID;
}