2017-04-13 66 views
1

我有这样的形式:HTML形式返回null

<div class="col-md-7"> 
         <div class="panel panel-default"> 
          <div class="panel-heading"><strong>Dosya yükle</strong> <small> </small></div> 
          <div class="panel-body"> 
           <form action="/" enctype="multipart/form-data" method="post"> 
            <div class="input-group image-preview"> 
             <input id="file" type="file" class="form-control image-preview-filename" > 
             <!-- don't give a name === doesn't send on POST/GET --> 
             <span class="input-group-btn"> 
              <!-- image-preview-clear button --> 
              <button type="button" class="btn btn-default image-preview-clear" style="display:none;"> <span class="glyphicon glyphicon-remove"></span> Temizle </button> 
              <!-- image-preview-input --> 
              <div class="btn btn-default image-preview-input"> 
               <span class="glyphicon glyphicon-folder-open"></span> <span class="image-preview-input-title">Tara</span> 
               <!--<input type="file" name="input-file-preview" />--> 
               <!-- rename it --> 
              </div> 
              <button type="submit" class="btn btn-labeled btn-default"> <span class="btn-label"><i class="glyphicon glyphicon-upload"></i> </span>Yükle</button> 
             </span> 
            </div> 
           </form> 

当我提交表单,返回null值到控制器。为什么它是空的?我该如何解决它?谢谢。

+0

这是什么有d o与asp.net? – VDWWD

+0

的[简单形式不经由\ _POST发送数据]可能的复制(http://stackoverflow.com/questions/19887112/simple-form-not-sending-data-via-post) – Soaku

回答

1

而不是使用id属性,而是使用name

<input id="file" type="file" class="form-control image-preview-filename" > 

应该是:

<input name="file" type="file" class="form-control image-preview-filename" > 

这是因为,name用于指定的形式键,而id指定的ID反对

0

您的评论似乎非常清楚对我来说,如果你不为你的输入指定一个名称,它不会在请求获得通过,这意味着你的控制器将获得空。只需为每个需要输入指定一个名字,你会好的。

而且,看看FormHelper妥善处理表单。

0
View Page 

@using (Html.BeginForm("ActionmethodName", "ControllerName", FormMethod.Post, new { id = "formid" })) 
{ 
    <input type="file" name="file" /> 
    <input type="submit" value="Upload" class="save" id="btnid" /> 
} 

script file 



    $(document).on("click", "#btnid", function (event) { 
      event.preventDefault(); 
      var fileOptions = { 
       success: res, 
       dataType: "json" 
      } 
      $("#formid").ajaxSubmit(fileOptions); 
     }); 

In Controller 

    [HttpPost] 
    public ActionResult UploadFile(HttpPostedFileBase file) 
    { 
    }