Telerik Controlsを利用するMVC3(razorview)アプリケーションを開発しています。だから私がしているのは次のとおりです。
ファイルをアップロードしたいのですが、検証を行います。ファイルが有効な場合、ファイルを永続的にアップロードするオプションをユーザーに提供したいと思います。有効でない場合、エラーが表示され、ユーザーはファイルをアップロードできません。
これは私がこれまでに持っているものです:
Javascriptコード:
<script type="text/javascript">
function onSuccess(e) {
if (jQuery.isEmptyObject(e.response.errors) && jQuery.isEmptyObject(e.response.warnings)) {
$("#successmsg").show();
} else {
var errorMsg = "";
if (!jQuery.isEmptyObject(e.response.errors)) {
for (var i = 0; i < e.response.errors.length; i++) {
errorMsg = errorMsg + "<li>" + e.response.errors[i] + "</li>";
}
}
if (errorMsg != "") {
var strErrorContent = $("#errormsg_template").html();
$("#errormsg").html(strErrorContent.replace("{0}", errorMsg));
$("#errormsg").show();
}
}
}
表示されているTelerikコンポーネント:
<p>
@Html.Telerik().Upload().Name("file_upload").Multiple(false).Async(settings =>
{
settings.AutoUpload(false);
settings.Save("Test", "Pricat");
}).ClientEvents(events =>
{
events.OnError("onError");
events.OnSuccess("onSuccess");
events.OnUpload("onUpload");
})
</p>
したがって、このコードは検証部分で機能しています。ユーザーがファイルを選択すると、ファイルがアップロードされ、内部処理によってメッセージが検証されます。メッセージが有効な場合、成功メッセージが表示されます。有効でない場合は、エラーが表示されます。
ファイルを再度参照せずに、アップロードを実行するボタン(基本的には別のメソッド呼び出し)を追加するにはどうすればよいですか?
だから次の
settings.Save("Test", "Pricat");
になる必要があります
settings.Save("Upload", "Pricat");
したがって、コントローラーには次の2つの方法があります。
public ActionResult Upload(HttpPostedFileBase file_upload) { }
public ActionResult Test(HttpPostedFileBase file_upload) { }
私が念頭に置いていたのは、javascriptで、e.reponseにエラーが含まれていない場合は、ボタンを表示することです(ASP.NETボタン、別のアップロードtelerikボタン、わかりません)。そのボタンをクリックすると、コントローラーの「アップロード」メソッドが呼び出されます。そのメソッドにファイルを送信する方法がわかりません
誰かがこれを行う方法を知っていますか?または、他の提案は大歓迎です!
少しはっきりしているといいのですが。
前もって感謝します。
よろしくお願いします。