如何使用 ASP.Net MVC 从局部视图执行操作?
How to execute an action from a partial view using ASP.Net MVC?
我在从另一个视图中使用的局部视图执行操作时遇到问题。
我试过这个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>
}
现在我不知道执行该操作的最佳方式是什么。你有什么建议吗?
那么这里提示的错误是什么?
顺便说一句,对于 asp.net 核心,您的 post 操作应该是这样的;
public ActionResult FileLoad(IFormFile Filepath)
或像这样的经典 asp.net;
public ActionResult FileLoad(HttpPostedFileBase Filepath)
你可以修改你的代码如下
$.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");
}
});
我在从另一个视图中使用的局部视图执行操作时遇到问题。
我试过这个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>
}
现在我不知道执行该操作的最佳方式是什么。你有什么建议吗?
那么这里提示的错误是什么?
顺便说一句,对于 asp.net 核心,您的 post 操作应该是这样的;
public ActionResult FileLoad(IFormFile Filepath)
或像这样的经典 asp.net;
public ActionResult FileLoad(HttpPostedFileBase Filepath)
你可以修改你的代码如下
$.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");
}
});