0

我下载了Kendo.UI的试用版,所以登录论坛,现阶段是不可能的,希望有人能帮我解决这个问题。

我正在尝试将异步上传实现到基本的 MVC 4 应用程序上。我添加了对 Kendo.UI.MVC 包装器的引用,并将必要的命名空间 Kendo.UI.MVC 添加到两个 web.config 文件(根目录和视图下)。

如果我在我的登陆视图(index.cshtml)上实现一个基本的上传器,它工作正常:

<form action="/Home/Save" method="post">
   @(Html.Kendo().Upload().Name("files"))
   <input type="submit" value="Submit" />
</form>

但是,只要将 Save() 方法添加到 Async,我就会收到“索引超出范围”异常。我知道这是保存方法,因为如果我只添加“AutoUpload(true)”而没有操作引用,它不会引发异常。如果我只添加“Remove("Remove", "Home")" 它仍然显示 Select 按钮,没有错误,但是 "Save("Save", "Home")" 方法不断抛出上述异常。

我严格按照试用版附带的示例进行操作,它应该可以在网络上工作,但事实并非如此。

查看(index.cshtml):

@(Html.Kendo()
      .Upload()
      .Name("files")
      .Async(async => async
                      .Save("Save", "Home")))

-- 上面的语句抛出错误

@(Html.Kendo()
      .Upload()
      .Name("files")
      .Async(async => async
                      .AutoUpload(true)))

--这条线有效

控制器(HomeController):

public class HomeController : Controller
{
   public ActionResult Index()
   {
      return View();
   }

   [HttpPost]
   public ActionResult Save(IEnumerable<HttpPostedFile> files)
   {
      // I just want the break-point to be hit
      // does not due to IndexOutOfRange exception being thrown

      return Content("");
   }
}
4

2 回答 2

1

唯一看起来错误的是 Razor 语法:

(@Html.Kendo()

应该

@(Html.Kendo()

我能够通过这个小小的改动来运行你的代码。

于 2013-03-22T09:31:21.463 回答
-1

更新了 Visual Studio 的 MVC 模板,它可以工作了。谢谢。

于 2013-03-26T12:54:11.077 回答