Вы можете использовать следующий код для получения рабочего локального URL для загруженного файла:
<script type="text/javascript">
var path = (window.URL || window.webkitURL).createObjectURL(file);
console.log('path', path);
</script>
Дело не в том, что ScriptManager «нарушает дух» MVC, просто структура MVC построена по-другому.
Веб-элементы управления полагаются на такие конструкции веб-форм ASP.Net, как ViewState и Postbacks. Их нет в ASP.Net MVC, поэтому любые элементы управления, использующие их, не будут работать должным образом. Однако элементы управления по-прежнему будут отображать свой HTML-код и запускать свои обработчики событий, поскольку каждая страница .aspx по-прежнему проходит жизненный цикл страницы, когда она компилируется механизмом просмотра по умолчанию. (Если вы используете настраиваемый движок просмотра для рендеринга HTML-кода, они вообще не будут работать!)
В любом случае, большинство людей полагаются на скрипты ajax от Microsoft (MicrosoftAjax.js, MicrosoftMvcAjax.js) или используют сторонние программы. библиотека, такая как jQuery, для работы с ajax. Если вы только начинаете, я бы посоветовал перейти на главный сайт ASP.Net MVC и ознакомиться с некоторыми из их руководств. Электронная книга NerdDinner - отличное начало для MVC, и есть глава об использовании Microsoft Ajax для выполнения динамических обновлений .