cod*_*ady 5 model-view-controller asp.net-mvc-5
我有一些控制器方法可以处理WMI类(唤醒选定的计算机,打开或关闭进程,启动RDP会话),然后重新加载当前视图。要重新加载,我尝试了以下操作:
return View();
return RedirectToAction("Index", "RenderNodesController");
return RedirectToAction("Index");
return Redirect(Request.UrlReferrer.ToString());
Run Code Online (Sandbox Code Playgroud)
所有方法都可以成功执行WMI调用,但是return语句不会重新加载页面。如果我手动刷新页面,它将重新加载并按预期显示更改的信息。同样相当奇怪的是,如果我在调试器中逐步执行return语句,我会看到视图的Index方法已执行,因此在这种情况下调试似乎无济于事。我将不胜感激。
我还是不知道为什么 return View(); 类似的代码不会执行,但最终我使用 Javascript 的 window.location.reload() 让它工作,完整的脚本如下:
<script type="text/javascript">
$(document).ready(function () {
$('.checkbox').click(function () {
var url = '@Url.Action("CallProcess", "RenderNodes")';
var networkname = $(this).data("networkname");
var processname = $(this).data("processname");
var filename = $(this).data("filename");
var start = $(this).is(':checked');
$.post(url, { NetworkName: networkname, ProcessName: processname, FileName: filename, Start: start },
function (data) {
$("#CallProcess").html(data);
});
window.location.reload(true);
})
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4585 次 |
| 最近记录: |