弹出表单帖子阻止网站刷新

时间:2014-08-22 11:55:42

标签: asp.net-mvc post popup

我有一个带有按钮的kendo网格。按下按钮时,会打开一个带有文件选择输入和按钮的弹出窗口,以便用户可以保存图像。我使用带有提交按钮的普通表单将我的表单发布到我的控制器。一切正常,正确的数据到达控制器,然后页面刷新。我只是希望弹出窗口关闭,网格和弹出窗口后面的整个页面保持原样。这是我的控制器:

    [HttpPost]
    public ActionResult SaveData(HttpPostedFileBase file, string id)
    {
        iResourceModel.SaveData(file, file.FileName);
        return null;
    }

和我的html表单:

 <div id="details-container">
 <form action="/Home/SaveData" method="post" enctype="multipart/form-data">
 <span>Select file:</span><input type="file" name="file" id="file">
 <input type="text" value=' + dataItem.ResourceId +' name="id" id="id" hidden/>
 <button type="submit" id="" >Save file</button>
 </form>
 </div>

1 个答案:

答案 0 :(得分:0)

提交表单后重新加载页面是正常行为。如果要停止它,可以使用jQuery并在后台提交表单。

您可以在此处找到jQuery表单插件:http://plugins.jquery.com/form/

对于你的情况:

<div id="details-container">
 <form action="/Home/SaveData" method="post" enctype="multipart/form-data" id="myForm">
 <span>Select file:</span><input type="file" name="file" id="file">
 <input type="text" value=' + dataItem.ResourceId +' name="id" id="id" hidden/>
 <button type="submit" id="" >Save file</button>
 </form>
 </div>
 <script> 

    $(document).ready(function() { 

        $('#myForm').ajaxForm(function() { 
            alert("File uploaded!"); 
        }); 
    }); 
</script>