asp.net-mvc - ASP.NET MVC session 状态

标签 asp.net-mvc session-state

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

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

你知道有什么方法可以在 MVC 中不断地或在执行请求时获取 session 状态查询吗?

真的很感激一些帮助,我相信如果有人知道答案,其他人也会!!

最佳答案

如果调用返回 View 的操作,您将丢失 View 状态。如果您愿意,您可以使用 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();
    }
}

这将允许您从服务器获取一些信息,而无需发布表单并保持客户端的 View 状态。

There is a full write up of the example here这可能会有所帮助。

关于asp.net-mvc - ASP.NET MVC session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329383/

相关文章:

c# - ASP.NET - Javascript 超时警告基于 web.config 中的 sessionState 超时

asp.net - 在多个应用程序之间共享 ASP.NET 状态数据库

c# - 在 System.web.security 中找不到角色提供者?

c# - 如何在 ASP MVC 5 中将 MediatR 与 Autofac 一起使用?

asp.net-mvc - 如何在Visual Studio 2012中降级Entity Framework 5迁移?

javascript - 如何确定浏览器 session 是刚刚开始还是后续点击?

c# - MVC3 : C# Forms Authentication and Session State

asp.net-mvc - 使用隐式/显式转换运算符是否违反单一职责模式而支持 DRY?

asp.net-mvc - 从表达式构建 URL

c# - session 在 javascript 函数调用后丢失其状态