0
私は、フォームは、剣道のコンボボックスと剣道のファイルアップロードで構成しました:ここSerializeをCSVファイル
@using (Html.BeginForm("Methode", "controller", FormMethod.Post))
{
<p> Select country </p>
@(Html.Kendo().DropDownList().Name("country")
.DataTextField("Text").DataValueField("Value")
.DataSource(source => { source.Read(read => {
read.Action("GetMonth", "BudgetStage");
});
}))
<p> Select a .CSV file: </p>
@(Html.Kendo().Upload()
.Name("files")
.HtmlAttributes(new { accept = ".csv" })
)
<input type="submit" value="Submit" class="k-button k-primary" />
<input type="button" value="Ajax" class="k-button k-primary" onclick="postData(this)
}
は、私のC#のコントローラのコードです:
public JsonResult methode(IEnumerable<HttpPostedFileBase> files, string country)
{
return Json("It's OK !", JsonRequestBehavior.AllowGet);
}
この送信ボタンをクリックすると動作しますが、コントローラはファイルと文字列の値を受け取りますが、私のページからJsonの戻り値を表示する必要があります。これを行うには
は、私はこのAjaxの機能を使用します。私はAjaxのボタンをクリックすると
function postData(button) {
var form = $(button).parents('form');
if (form.kendoValidator().data("kendoValidator").validate()) {
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(),
error: function (xhr, status, error) {
alert(error);
},
success: function (response) {
alert(response);
}
});
return false;
}
return false;
}
、バックエンドの方法は、JSON値と私のJSコード表示、それを返し、呼び出しです。 問題は、選択されたCSVファイル(null)ではなく文字列値を受け取ることです。
ファイルと文字列を送信し、返されたJson値を表示するにはどうすればよいですか?
ありがとうございます。