【发布时间】:2021-10-27 00:43:33
【问题描述】:
我创建了一个简单的 asp.net core mvc 项目。
HomeController.cs 如下所示:
public class HomeController : Controller
{
public HomeController()
{
}
public IActionResult Index(string name, string desc)
{
Random random = new Random();
TestViewModel viewModel = new TestViewModel();
viewModel.Id = random.Next(0,7).ToString();
viewModel.Name = name;
viewModel.desc = desc;
return View(viewModel);
}
public IActionResult Update()
{
//return View("Index", new TestViewModel() { Name="Steven", desc="Hello" });
return RedirectToAction("Index", new { name = "Steven", desc="Hello" });
}
}
ViewModel 类:
public class TestViewModel
{
public string Name { get; set; }
public string Id { get; set; }
public string desc { get; set; }
}
剃刀页面:
<!--
@{
ViewData["Title"] = "Home Page";
}
@model WebApplication6.Controllers.TestViewModel
<div class="main">
<form method="get">
<label name="id" asp-for="Id">@Model.Id</label>
<label asp-for="Name">@Model.Name</label>
<input name="desc" type="text" value="@Model.desc" />
<input name="t1" type="button" onclick="executeInsert()"/>
</form>
</div>
<script type="text/javascript">
function executeInsert() {
$.get('/Home/Update');
}
</script> -->
当我点击按钮时,我实际上已经发送了获取请求并且它已经重定向到索引操作,但是浏览器不会刷新视图内容。
【问题讨论】:
-
您在 ajax 中调用操作方法更新。即使服务器正在执行 RedirectToAction,ajax 也不会刷新页面或重定向。您可能想要使用提交按钮实际提交表单
-
请您试一试,让我知道这是否适合您。如果您在这方面需要任何进一步的帮助,请告诉我。
标签: c# asp.net-core-mvc redirecttoaction