C# 如何使用asp.net MVC将隐藏的ID值发送到FormData?

C# 如何使用asp.net MVC将隐藏的ID值发送到FormData?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我需要传递隐藏的ID值var genericID=$(“#hdnGenericID”).val()到FromData。但我无法传递Id值 如何将hdnGenericIDID值传递给控制器 @Html.HiddenFor(model => item.GenericID, new { id = "hdnGenericID" }) cs.Html <div class="uploading-container"> <div class="uploading-c

我需要传递隐藏的ID值
var genericID=$(“#hdnGenericID”).val()到FromData。但我无法传递Id值

如何将
hdnGenericID
ID值传递给控制器

@Html.HiddenFor(model => item.GenericID, new { id = "hdnGenericID" })
cs.Html

<div class="uploading-container">
        <div class="uploading-container-left">
          <span class="btn btn-rounded btn-file">
            <span>Choose file</span>
               <input type="file" name="file" id="file">
               </span>
          </div><!--.uploading-container-left-->
<div class="uploading-container-right">
    <div class="uploading-container-right-in">
       <div class="col-lg-4">
         <fieldset class="form-group">
            <label class="form-label semibold">Perview_Image</label>&nbsp;&nbsp;
             <img id="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
             <a id="remove" onclick="javascript:ClearFileUploadControl();" style="display: none; cursor: pointer;">Remove</a>
            </fieldset>
           </div>
          <input type="submit" id="btnImageUpload" name="ImageUpload" value="Upload image" class="btn btn-rounded btn-inline btn-success" />
             </div>
            </div>
           </div>
控制器:

[HttpPost]
        public ActionResult SaveProfileImage()
        {

            try
            {
                if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
                {
                    var pic = System.Web.HttpContext.Current.Request.Files["HelpSectionImages"];
                    HttpPostedFileBase filebase = new HttpPostedFileWrapper(pic);
                    var fileName = docId.ToString() + ".png";
                    var path = Path.Combine(Server.MapPath("~/UploadGenericImage/"), fileName);
                    filebase.SaveAs(path);
                    //return Json("File Saved Successfully.");
                    return Json(new { data = true});
                }
                else { return Json("No File Saved."); }
            }
            catch (Exception ex) { return Json("Error While Saving."); }
        }

像这样更改脚本

$(function () {
        $('#btnImageUpload').click(function () {
            var data = new FormData();
            var genericID = $("#hdnGenericID").val();
            data.append("GenericID", genericID);
            var files = $("#file").get(0).files;

            if (files.length > 0) { data.append("HelpSectionImages", files[0]); }
            else {
                common.showNotification('warning', 'Please select file to upload.', 'top', 'right');
                return false;
            }
            var extension = $("#file").val().split('.').pop().toUpperCase();
            if (extension != "PNG" && extension != "JPG" && extension != "GIF" && extension != "JPEG") {
                common.showNotification('warning', 'Imvalid image file format.', 'top', 'right');
                return false;
            }
            $.ajax({
                url: '../Generic/SaveProfileImage',
                type: "POST",
                processData: false,
                data: data,
                dataType: 'json',
                contentType: false,
                success: function (data) {
                    if (data == true) { // if true (1)
                        setTimeout(function () {// wait for 1 secs(2)
                            location.reload(); // then reload the page.(3)
                        }, 1000);
                    }
                },
                error: function (er) { }

            });
            return false;
        });

    });
    [HttpPost]
    public ActionResult SaveProfileImage(string GenericID)
    {

        try
        {
            if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
            {
                var pic = System.Web.HttpContext.Current.Request.Files["HelpSectionImages"];
                HttpPostedFileBase filebase = new HttpPostedFileWrapper(pic);
                var fileName = docId.ToString() + ".png";
                var path = Path.Combine(Server.MapPath("~/UploadGenericImage/"), fileName);
                filebase.SaveAs(path);
                //return Json("File Saved Successfully.");
                return Json(new { data = true});
            }
            else { return Json("No File Saved."); }
        }
        catch (Exception ex) { return Json("Error While Saving."); }
    }
然后像这样更换控制器

$(function () {
        $('#btnImageUpload').click(function () {
            var data = new FormData();
            var genericID = $("#hdnGenericID").val();
            data.append("GenericID", genericID);
            var files = $("#file").get(0).files;

            if (files.length > 0) { data.append("HelpSectionImages", files[0]); }
            else {
                common.showNotification('warning', 'Please select file to upload.', 'top', 'right');
                return false;
            }
            var extension = $("#file").val().split('.').pop().toUpperCase();
            if (extension != "PNG" && extension != "JPG" && extension != "GIF" && extension != "JPEG") {
                common.showNotification('warning', 'Imvalid image file format.', 'top', 'right');
                return false;
            }
            $.ajax({
                url: '../Generic/SaveProfileImage',
                type: "POST",
                processData: false,
                data: data,
                dataType: 'json',
                contentType: false,
                success: function (data) {
                    if (data == true) { // if true (1)
                        setTimeout(function () {// wait for 1 secs(2)
                            location.reload(); // then reload the page.(3)
                        }, 1000);
                    }
                },
                error: function (er) { }

            });
            return false;
        });

    });
    [HttpPost]
    public ActionResult SaveProfileImage(string GenericID)
    {

        try
        {
            if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
            {
                var pic = System.Web.HttpContext.Current.Request.Files["HelpSectionImages"];
                HttpPostedFileBase filebase = new HttpPostedFileWrapper(pic);
                var fileName = docId.ToString() + ".png";
                var path = Path.Combine(Server.MapPath("~/UploadGenericImage/"), fileName);
                filebase.SaveAs(path);
                //return Json("File Saved Successfully.");
                return Json(new { data = true});
            }
            else { return Json("No File Saved."); }
        }
        catch (Exception ex) { return Json("Error While Saving."); }
    }

然后在控制器中,您将能够访问GenericID的值。

您是否尝试使用FormCollection参数来控制操作方法,即

[HttpPost]
 public ActionResult SaveProfileImage(FormCollection form,string GenericID)
{....
}
此表单将具有您的hiddenfield值,并且可以像下面这样访问hiddenfield

var hiddenFieldValue = form["hdnGenericID"] ..

在表单数据中添加隐藏值,如
data.append(“GenericID”,GenericID)附加到
FormData
对象-
data.Append('yourPropertyName',genericID)。但是,您需要在POST方法中使用匹配的参数或模型来接收它。您可以发布完整的代码吗?请@Niteshwhere我在您的代码上方添加@StephenMueckeAfter
var genericID=$(“#hdnGenericID”).val()