【发布时间】:2020-07-29 11:49:49
【问题描述】:
我对 ASP.NET 还很陌生,并且只在一个遗留项目上临时执行此操作。我想根据条件显示两个不同的 div。应通过单击按钮来切换条件。就我的研究而言,我最终尝试使用@TempData
<button onclick="showData()">Show</button>
@if (@TempData["Display"] != null)
{
<div>Display Active</div>
}
@if (@TempData["Display"] == null)
{
<div>No Display</div>
}
showData() 是对控制器的 Ajax 调用
$.ajax({
type: "POST",
url: "/borrow/display/0",
data: $.toJSON({ "display": true })
}).done(function (output) {
});
控制器
[AllowAnonymous]
[HttpPost]
public ActionResult Display(string code)
{
TempData["Display"] = true;
return Json(new { response = true });
}
这种方法的问题是视图不知道TempData["Display"] 发生的变化。如果我重新加载页面,它会在我单击切换按钮时正确呈现。有没有办法在不重新加载的情况下进行切换?或重新加载但保留视图和模型。我知道我可以使用 JS 进行切换,但它不符合我的需要,因为我还需要在控制器中反映更改。
【问题讨论】:
标签: asp.net asp.net-mvc-4