Asp.net mvc ASP.NET MVC会话状态

Asp.net mvc ASP.NET MVC会话状态,asp.net-mvc,session-state,Asp.net Mvc,Session State,我目前正在尝试使用jquery在MVC中创建一个带有进度条的上传控件。我一直遇到一个问题,但是mvc不能在并行线程中工作 当我上传一个文件并显示通过几个回调从JS上传到服务器的过程中的进度时,我试图获取关于当前上传状态的信息,但只有当文件上传后,服务器才会返回答案 您知道在MVC中持续或在执行请求时获取会话状态查询的任何方法吗 如果有人知道答案,我相信其他人也会感谢你的帮助 如果调用返回视图的操作,将丢失视图状态。如果愿意,可以使用TempData在操作之间传递数据,但这可能无法解决问题。在我看

我目前正在尝试使用jquery在MVC中创建一个带有进度条的上传控件。我一直遇到一个问题,但是mvc不能在并行线程中工作

当我上传一个文件并显示通过几个回调从JS上传到服务器的过程中的进度时,我试图获取关于当前上传状态的信息,但只有当文件上传后,服务器才会返回答案

您知道在MVC中持续或在执行请求时获取会话状态查询的任何方法吗


如果有人知道答案,我相信其他人也会感谢你的帮助

如果调用返回视图的操作,将丢失视图状态。如果愿意,可以使用TempData在操作之间传递数据,但这可能无法解决问题。在我看来,这里需要的是一个操作,它将返回一个JSON元素,您可以使用一些异步javascript调用该元素

对于您的行动,您应该:

public ActionResult GetSuggestions(string searchText)
{
    return Json(new { SearchText = searchText + "completestring"});
}
然后在表单上使用jQuery生成一些异步javascript:

function startAutoComplete() {
    var searchText = $("#inputText").val();
    $.getJSON("/Search/GetSuggestions?searchText=" + searchText, null, autoCompleteResponse);
}

function autoCompleteResponse(data) {
    if (data.SearchText) {
        $("#inputText").val(data.SearchText);
        $("#inputText").select();
    }
}
这将允许您从服务器获取一些信息,而无需发布表单并保持客户端的viewstate

这可能会有所帮助。

返回Json(新的{SearchText=SearchText+“completestring”},“text/Json”,JsonRequestBehavior.AllowGet)