我目前正在尝试使用
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(); } }
这将允许您从服务器获取一些信息,而无需发布表单并保持客户端的视图状态.