Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 0%,一个指标应该每0.5秒更新一次,以指示任务的进度(即10%,50%等)。嗯,你说得对,我可能误解了你的第一个问题。我想我会修正我的雄心壮志,试着追踪一步一步的进展。在这种情况下,我需要知道何时正确上传每个文件以跟踪进度。知道我只有一个按钮来保存我的实_Javascript_Jquery_Asp.net Mvc 3_Progress Bar_Progress - Fatal编程技术网

Javascript 0%,一个指标应该每0.5秒更新一次,以指示任务的进度(即10%,50%等)。嗯,你说得对,我可能误解了你的第一个问题。我想我会修正我的雄心壮志,试着追踪一步一步的进展。在这种情况下,我需要知道何时正确上传每个文件以跟踪进度。知道我只有一个按钮来保存我的实

Javascript 0%,一个指标应该每0.5秒更新一次,以指示任务的进度(即10%,50%等)。嗯,你说得对,我可能误解了你的第一个问题。我想我会修正我的雄心壮志,试着追踪一步一步的进展。在这种情况下,我需要知道何时正确上传每个文件以跟踪进度。知道我只有一个按钮来保存我的实,javascript,jquery,asp.net-mvc-3,progress-bar,progress,Javascript,Jquery,Asp.net Mvc 3,Progress Bar,Progress,0%,一个指标应该每0.5秒更新一次,以指示任务的进度(即10%,50%等)。嗯,你说得对,我可能误解了你的第一个问题。我想我会修正我的雄心壮志,试着追踪一步一步的进展。在这种情况下,我需要知道何时正确上传每个文件以跟踪进度。知道我只有一个按钮来保存我的实体和上传我的文件,我如何能够轻松地跟踪这个进度?请查看我的更新OK我的奖金1小时后到期,因此我必须奖励某人,而您的解决方案似乎是最好的。我现在不能尝试,所以我今天就做,如果需要的话,我会问你一些精度。好的,听起来不错。@AlexB-另外,看看这


0%,一个指标应该每0.5秒更新一次,以指示任务的进度(即10%,50%等)。嗯,你说得对,我可能误解了你的第一个问题。我想我会修正我的雄心壮志,试着追踪一步一步的进展。在这种情况下,我需要知道何时正确上传每个文件以跟踪进度。知道我只有一个按钮来保存我的实体和上传我的文件,我如何能够轻松地跟踪这个进度?请查看我的更新OK我的奖金1小时后到期,因此我必须奖励某人,而您的解决方案似乎是最好的。我现在不能尝试,所以我今天就做,如果需要的话,我会问你一些精度。好的,听起来不错。@AlexB-另外,看看这个解决方案,它与我上面发布的非常相似,但包含更多细节:谢谢你的附加链接,我会看一看。阅读您的解决方案,我还有一个问题:当我提交表单时,我需要提交我的图片和表单(一些文本框、下拉列表等)。如何通过
XMLHttpRequest
传递我的
模型(包含图片和其他值的字段)。您在示例中传递了
id
,但我无法传递
MyModel
(客户端不知道
MyModel
)。你可以在我第一篇文章的末尾看到我的控制器。我必须修改它吗?@AlexB-看看这两个链接:和两个选项。一个是调用serialize,另一个是传入一个javascript对象,该对象具有与模型相同的成员。当然,第三个选项是将模型的成员作为单个参数传入,然后在控制器中重建模型。
@model MyModel

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "target-form", enctype = "multipart/form-data" }))
{
    //some Html.TextBoxFor() and other @Html.DropDownListFor

    @Html.TextBoxFor(m => m.File, new { type = "file"})

    <input type="submit" value="Create" class="submitButton" />

    <div id="progressBar"></div>
}
[HttpPost]
public ActionResult Create(MyModel model)
{
    if (ModelState.IsValid)
    {
        DALLayer dal = new DALLayer()
        dal.AddEntity(model);

        return RedirectToAction("Index", "Home");
    }

    return null;
}
formData = new FormData(document.getElementById("target-form") );
xhr.open("POST", "@Url.Action("MyMethod", "MyController")", true );
xhr.setRequestHeader("X-File-Name", $('#Files_0__File')[0].files[0].name);
xhr.setRequestHeader("X-File-Size", $('#Files_0__File')[0].files[0].size);
xhr.setRequestHeader("X-File-Type", $('#Files_0__File')[0].files[0].type);
//Also tried with "Content-Length" but it doesn't care about it.
<div id="progressBar" style="width:400px;">    
<div id="progressBarWorkDone" style="width:0px;height:10px;background-color:red;"><div/> 
<div/>
<input type="submit" onclick="$('#progressBar').show();" value="Create" class="submitButton" />

<div id="progressBar" style="display:none;"><img src="myProgressBar.gif" /></div>
$("#target-form").submit(function () {
 xhr = new XMLHttpRequest();
xhr.upload.addEventListener( "progress", function ( evt )
{
    if( evt.lengthComputable )
    {
        var progressPercent = ( evt.loaded / evt.total ) * 100;
        showProgress( value );//your function.
    }
}, false );


//Some other events you will probably want to subscribe to
xhr.addEventListener( "load", function ()
{            
    fileUploadComplete( this.responseText );
}, false );

xhr.addEventListener( "error", function ( first, second, third )
{
    fileUploadComplete( "Error: Image format not supported." );
}, false );

xhr.addEventListener( "abort", function ()
{
    fileUploadComplete( "Error: Upload was cancelled. Please try again." );
}, false );
xhr.open( "post", '@Html.Raw( @Url.Action( "UploadImage", new { someId = id } ) )', true );

// Set appropriate headers                
xhr.setRequestHeader( "Content-Type", "multipart/form-data" );
xhr.setRequestHeader( "X-File-Name", name );

// Send the file
xhr.send( file );
public ActionResult UploadImage( int someId, HttpPostedFileBase userFile  )
{
    ...    
}