从在另一个视图内使用的局部视图执行动作时遇到问题。
我已经尝试过使用该JQuery来更改div的内容
$(document).ready(function () {
//File Upload Button
$(".fileUpload").click(function () {
$.ajax({
type: 'GET',
url: '@Url.Action("FileUpload", "Dashboard")',
data: { type: $(this).attr("data-type") },
success: function (response) {
$(".content").html(response);
},
error: function () {
alert("Problem on uploading file");
}
});
});
});
这是控制器下用于加载部分视图的代码。
public ActionResult FileUpload()
{
return PartialView("~/Views/Dashboard/FileUpload.cshtml");
}
我已经设法运行了这段代码并显示了局部视图,但是现在我很难在该局部视图上执行操作。
我添加了另一个操作Fileload
[HttpPost]
public ActionResult FileLoad()
{
//some codes to execute
}
这将通过局部视图调用
@model Payout.Models.FundTransfer
@using (Html.BeginForm("FileLoad", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div>
<input type="file" name="Filepath" id="Filepath" />
</div>
<div>
<input type="submit" name="submit" value="Submit" />
</div>
}
现在我不知道执行该动作的最佳方法是什么。你有什么建议吗?
答案 0 :(得分:1)
您可以按以下方式修改代码
$.ajax({
url: '@Url.Action("FileUpload", "Dashboard")',
type: "POST",
processData: false,
data: { type: $(this).attr("data-type") },
dataType: "html",
contentType: false,
success: function (data) {
$(".content").html(response);
},
error: function () {
alert("Problem on uploading file");
}
});
答案 1 :(得分:0)
那这里提示的错误是什么?
顺便说一句,对于asp.net核心,您的发布操作应该是这样;
public ActionResult FileLoad(IFormFile Filepath)
或者对于经典的asp.net来说就是这样;
public ActionResult FileLoad(HttpPostedFileBase Filepath)