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)」を追加するだけでは、例外がスローされないため、save メソッドであることはわかっています。「Remove("Remove", "Home")」を追加すると、エラーなしで [選択] ボタンが表示されますが、「Save("Save", "Home")」メソッドは前述の例外をスローし続けます。

試用版に同梱されている例を文字どおりに追跡しましたが、Web で動作するはずですが、動作しません。

ビュー (index.cshtml):

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

-- 上記のステートメントでエラーが発生しています

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

-- この行は動作します

コントローラー (ホームコントローラー):

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 に答える