Кажется, что нет никакой поддержки для защищенных паролем zip-файлов в собственной библиотеке .net 4.5, подобно тому, как в Windows Explorer не поддерживается поддержка даже в Windows 10! Некоторые люди сообщили, что у них есть проблемы с коррупцией в zip, используя сторонний DotNetLib, поэтому убедитесь, что вы активно тестируете, если вы идете по этому пути или пытаетесь использовать SharpZipLib .
Внутри все это делается через HTML. Я бы предложил использовать javascript.
Иметь один элемент div с таким идентификатором, как
<div id="InterchangableView"></div>
Добавить событие onChange в раскрывающийся список и передать функции javascript значение dropdown
В функции определите, какое это значение, и вызовите необходимый метод контроллера, например, ниже
if(id == 1)
{
var json = '{controllerParam: ' + id + '}';
$.ajax({
url:'@Url.Action("Action", "Controller")',
type:'POST',
data: json,
contentType:'Application/json',
success:fucntion(result){
$("#InterchangableView").html(result);
}
});
}
В действии контроллера, в зависимости от переданного в него результата, сделайте проверку и верните правильное частичное представление таким образом.
Каждый раз, когда выпадающий список изменяется, должен вызываться javascript, который должен возвращать частичный вид, который должен перезаписывать все, что находится в div, на котором расположен этот Id.
Я наконец-то поработал, чтобы реализовать это.
В JavaScript при выборе раскрывающегося списка, с помощью вызова ajax я передал данные модели в контроллер, возвращающий частичное представление. В Контроллере определяется правильное частичное представление, и оно возвращает это частичное представление в виде html-данных в мой вызов ajax, который я использую для замены в рамках требуемого (частичного представления) div.