2013-04-04 2 views
0

У меня возникают проблемы с передачей одного параметра строки из представления в контроллер.Редактор пользовательского интерфейса Kendo Проблема с ImageBrowser path

Вид:

@model ImageModel 

@(Html.Kendo().Editor() 
      .Name("EditorCustom") 
      .ImageBrowser(imagEditorImageBrowserControllereBrowser => imageBrowser 
      .Image(Model.fullpath) 
      .Read("Read", "ImageBrowser") 
      .Upload("Upload2", "ImageBrowser") 
      .Thumbnail("Thumbnail", "ImageBrowser") 
     ) 
      .HtmlAttributes(new { style = "width: 740px;height:440px" }) 
      .Tools(tools => tools 
        .ViewHtml() 
        .CustomButton(cb => cb.Name("new").ToolTip(Html.RawLocalized(GlobalMessageKeys.InsertTable).ToString()).Exec(@<text> 
       function(e) { 
        $("#dialog-modal").dialog("open"); 
       } 
       </text>)) 
       ) 
) 

ViewModel:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace App.ViewModels 
{ 
    public class ImageModel 
    { 
     public string name { get; set; } 
     public string fullpath { get; set; } 
    } 
} 

Контроллер:

[HttpPost] 
     public ActionResult Upload2(string path, HttpPostedFileBase file) 
     { 
      try 
      { 
       UploadResource uploadRes = new UploadResource(); 
       uploadRes.Path = path; 
       uploadRes.StreamFile = file.InputStream; 
       uploadRes.Name = file.FileName; 

       ServiceLocator.MaintenanceService.UploadResource(uploadRes); 
      } 

      catch (Exception) 
      { 

      } 

      return Content(""); 
     } 

Класс контроллер наследует от EditorImageBrowserController, который является DLL, но я хочу, чтобы загрузить и читать изображения самостоятельно без использования DLL, поэтому я пишу в контроллере новый метод под названием «Upload2 ", который получает файл, который проходит правильно, и строку пути, которая всегда равна нулю. Я пытался отправить его кодом mvc kendo «.Image (Model.fullpath)» в представлении, но ничего, и я пока не нашел решение.

+0

Прекращение употребления в пищу исключений было бы первым шагом ... –

ответ

1

Извините, что в последнее время это больше для будущих гуглеров.

Вы можете создать свой собственный контроллер и переопределить значение по умолчанию с чем-то вроде.

public class YourOwnImageBrowserController : EditorImageBrowserController 
{ 
    // 
    // GET: /YourOwnImageBrowserController/ 
    private const string contentFolderRoot = "~/images/yourfolder"; 
    public override string ContentPath 
    { 
     get 
     { 
      return contentFolderRoot; 
     } 
    } 

} 

Тогда в вашем Редакторе используйте его.

.Read("Read", "YourOwnImageBrowserController") 
    .Create("Create", "YourOwnImageBrowserController") 
    .Destroy("Destroy", "YourOwnImageBrowserController") 
    .Upload("Upload", "YourOwnImageBrowserController") 
    .Thumbnail("Thumbnail", "YourOwnImageBrowserController")) 

Библиотеки Kendo обрабатывают все приложенные события.

Смежные вопросы