Html.Kendo().Upload() динамически включать или отключать

Мне нужно найти способ динамически включать или отключать загрузку кендо:

  @(Html.Kendo().Upload()
        .Enable(false)
        .Name("attachments_" + item.QuestionId)
        .ShowFileList(true)
            .TemplateId("fileTemplate")
        .Async(a => a
             .Save("SaveAttachment", "Attachment", new { evaluationId = ViewBag.EvaluationId, questionId = item.QuestionId })
             .Remove("RemoveAttachment", "Attachment", new { evaluationId = ViewBag.EvaluationId, questionId = item.QuestionId })
             .AutoUpload(true)
        )
        .Files(files =>
        {
            if ((IList<dynamic>)ViewData["Attachment_" + item.QuestionId] != null)
            {
                foreach (var f in (IList<dynamic>)ViewData["Attachment_" + item.QuestionId])
                {
                    files.Add().Name(f.Name).Extension(f.Extension).Size(f.Size);
                }
            }
        })
)

Как я могу это сделать?

Я попытался установить .Enable для:

.Enable(bool.Parse(ViewBag.AllowEdit))

И выдало ошибку:

Ошибка сервера в приложении '/' Описание ошибки компиляции: Произошла ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь со следующими конкретными сведениями об ошибке и соответствующим образом измените исходный код.

Сообщение об ошибке компилятора: CS1977: невозможно использовать лямбда-выражение в качестве аргумента для динамически отправляемой операции без предварительного приведения его к типу дерева делегата или выражения.

Ошибка источника:

Строка 95: .ShowFileList(true) Строка 96: .TemplateId("fileTemplate") Строка 97: .Async(a => a Строка 98: .Save("SaveAttachment", "Attachment", new { AssessmentId = ViewBag.EvaluationId, questionId = item.QuestionId }) Строка 99: .Remove("RemoveAttachment", "Attachment", new { AssessmentId = ViewBag.EvaluationId, questionId = item.QuestionId })

Есть ли более простой способ сделать это?


person user3272686    schedule 05.02.2014    source источник


Ответы (2)


Сначала приведите эту переменную ViewBag.

.Enable(bool.Parse((string)ViewBag.AllowEdit))

person Petur Subev    schedule 05.02.2014

Одна вещь, о которой следует помнить при управлении загрузкой Kendo, заключается в том, что даже когда она отключена, пользователи все равно могут перетаскивать на нее файлы. Есть способ всегда отключать перетаскивание: форум по кендо

Я не пробовал этот обходной путь, так как хочу разрешить его, когда элемент управления включен.

person Larry Fix    schedule 13.02.2014