Jquery 在Mvc4中的表单操作中传递参数
我使用mvc4,我有jquery,我在那里调用上传操作 如果我在没有参数的情况下调用该方法(Upload),它可以正常工作 使用action=“Upload” 但我想传递参数,所以我尝试了这个,但不起作用: action=“Upload?id=”+data.record.id+” 如何使用动作传递参数? 这是我的代码:Jquery 在Mvc4中的表单操作中传递参数,jquery,html,asp.net-mvc-4,Jquery,Html,Asp.net Mvc 4,我使用mvc4,我有jquery,我在那里调用上传操作 如果我在没有参数的情况下调用该方法(Upload),它可以正常工作 使用action=“Upload” 但我想传递参数,所以我尝试了这个,但不起作用: action=“Upload?id=”+data.record.id+” 如何使用动作传递参数? 这是我的代码: UplodedFiles: { title: 'Uploded Files', type
UplodedFiles: {
title: 'Uploded Files',
type: 'file',
input: function (data) {
return '<form target="iframeTarget" class="formUploadFile" action="Upload" method="post" enctype="multipart/form-data"> <input type="file" onchange="this.form.submit()" name="myFile"/> </form> <iframe class="upload-iframe" style="display: none;" src="#" name="iframeTarget"></iframe>';
},
list:false,
我们需要查看发出调用的代码和接收调用的代码。我看不到发出调用的代码。如果控制器上传参数为空,并且可以工作,则此(action=“Upload”)正在发出调用。但是没有参数!
[HttpPost]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload(int id)
{
string upload_dir = Server.MapPath("~/app_data/Uploded/");
foreach (string f in Request.Files.Keys)
{
if (Request.Files[f].ContentLength > 0)
{
//System.IO.File.SetCreationTime(Server.MapPath("~/App_Data/Uploded/" + Request.Files[f].FileName), DateTime.Now);
Request.Files[f].SaveAs(upload_dir + System.IO.Path.GetFileName(Request.Files[f].FileName));
using (ProjectContext ProjectContext = new ProjectContext())
{
var p = _db.Projects.Find(id);
p.UplodedFiles += Request.Files[f].FileName + '#';
ProjectContext.SaveChanges();
}
}
}
return RedirectToRoute(new { Action = "Index", Controller = "Projects" });
}