我在将一个字符串参数从视图传递给控制器时遇到问题。
查看:
@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>))
)
)
视图模型:
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("");
}
控制器类继承自作为DLL的EditorImageBrowserController,但我想自己上传和读取图像而不使用DLL,所以我在控制器中写了一个名为“Upload2”的新方法,它接收正确传递的文件和路径字符串,始终为null。我试图通过mvc kendo代码“.Image(Model.fullpath)”在视图中发送它,但没有,我还没有找到解决方案。
答案 0 :(得分:1)
很抱歉,这对未来的googlers来说更多。
您可以创建自己的控制器,并使用类似的内容覆盖默认值。
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库处理所有附加事件。