Asp.net 从控制器访问视图中的div
在我的布局页面中,我有以下html:Asp.net 从控制器访问视图中的div,asp.net,ajax,runatserver,Asp.net,Ajax,Runatserver,在我的布局页面中,我有以下html: <div id="ajax-loading" class="global-loading-image" runat="server"> <img src="/content/travelbill/img/small-loading-image.gif"/> </div> 但我得到的错误是,加载和ajax在当前上下文中不存在。我做错了什么?那是在旧的ASP.NET页面中。在ASP MVC中,您没有Vie
<div id="ajax-loading" class="global-loading-image" runat="server">
<img src="/content/travelbill/img/small-loading-image.gif"/>
</div>
但我得到的错误是,加载和ajax在当前上下文中不存在。我做错了什么?那是在旧的ASP.NET页面中。在ASP MVC中,您没有
ViewState
,isPostBack
或runat=“server”
可以使用ViewBag
和ViewData
将变量从控制器传递到视图,如:
控制器:
ViewBag.Name = "My Name";
ViewData["Name"] = "My Name";
@ViewBag.Name
@ViewData["Name"]
查看:
ViewBag.Name = "My Name";
ViewData["Name"] = "My Name";
@ViewBag.Name
@ViewData["Name"]
我觉得你没必要这么做。您可以使用一个操作来完成需要完成的任务,并使用JavaScript通过AJAX请求该操作。然后,您可以使用JavaScript根据需要显示和隐藏加载:
function LoadAjax(containerId, url, params){
//Set loading in container
$(containerId).html('<img src="loading.gif" alt="loading"/>');
//Do the request
$.ajax({
type: 'POST',
dataType: "html",
url: url,
data: params,
success: function(data){
// show response inside container (removes loading)
$(containerId).html(data);
},
error: function( jqXHR, textStatus, errorThrown){
// show error inside container (removes loading)
$(containerId).html(textStatus);
}
});
}
函数LoadAjax(containerId、url、params){
//设置集装箱装载
$(containerId).html(“”);
//做请求
$.ajax({
键入:“POST”,
数据类型:“html”,
url:url,
数据:params,
成功:功能(数据){
//在容器内显示响应(删除加载)
$(containerId).html(数据);
},
错误:函数(jqXHR、textStatus、errorshown){
//在容器内显示错误(删除加载)
$(containerId).html(textStatus);
}
});
}
页面加载时,将显示加载图像。您将需要Jquery来使用我的代码。希望能有帮助