为了账号安全,请及时绑定邮箱和手机立即绑定

Asp.net MVC-fileupload 值在 httppost 方法中显示空值

Asp.net MVC-fileupload 值在 httppost 方法中显示空值

C#
胡说叔叔 2021-10-09 10:22:04
在视图上:<div id="project-contact-form">                @using (Ajax.BeginForm("Apply","Careers", new AjaxOptions { OnSuccess = "onApplySuccess" }, new { @id = "form1", @enctype = "multipart/form-data" }))                {                <div class="row">                    <div class="col-md-12">                        <div id="success-project-contact-form" class="no-margin-lr"></div>                    </div>                    <div class="col-md-6">                        <input type="text" required name="Firstname" id="Firstname" placeholder="First name" class="big-input">                    </div>                    <div class="col-md-6">                        <input type="text" required name="Lastname" id="Lastname" placeholder="Last name" class="big-input">                    </div>                    <div class="col-md-6">                        <input type="email" required name="Email" id="email" placeholder="E-mail" class="big-input">                    </div>                    <div class="col-md-6">                        <input type="text" required name="Mobile" id="mobile" placeholder="Mobile" class="big-input">                    </div>                    <div class="col-md-6">                                            <input type="file" name="FileUploader" id="files" class="hidden" />                        <label for="files" class="float-left cursor-pointer">Upload CV</label>                    </div>                    <div class="col-md-12 text-center">                        <button id="project-contact-us-button" type="submit" class="btn btn-medium btn-transparent-bnsights btn-rounded md-margin-15px-bottom sm-display-table sm-margin-lr-auto">Send</button>                    </div>                </div>                }            </div>
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

通常你不能使用Ajax.BeginForm()like上传文件Html.BeginForm()。您必须使用 JavaScript/jQuery 来提交表单元素。


这是解决方案:


$(document).ready(function(){

    $(document).on("submit", "#form1", function (event) {

            event.preventDefault();

            event.stopImmediatePropagation();

            var formData = new FormData(this);

            var url = this[0].action;


            $.ajax({

              url: url,

              type: 'POST',

              data: formData,

              success: function (response) {

                if (response) {

                  //do necessary work with response

                }

              },

              error: function() {

                //handle error here

              },

              cache: false,

              contentType: false,

              processData: false

            });

            return false;

          });

});


查看完整回答
反对 回复 2021-10-09
  • 1 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信