Asp.net mvc 在mvc中从一个控制器操作重定向到另一个控制器操作
这是我的代码,我想将一些数据(此处为日历日期)发布到“主”控制器的“索引”操作,并希望将这些数据保存在数据库中,同时我想重定向到另一个控制器的另一个操作,即“主”控制器的“索引”操作 下面是我的jquery代码Asp.net mvc 在mvc中从一个控制器操作重定向到另一个控制器操作,asp.net-mvc,Asp.net Mvc,这是我的代码,我想将一些数据(此处为日历日期)发布到“主”控制器的“索引”操作,并希望将这些数据保存在数据库中,同时我想重定向到另一个控制器的另一个操作,即“主”控制器的“索引”操作 下面是我的jquery代码 function getDate() { $('.cal_daybox').on('click', function () { var timestamp = parseInt($(this).attr('id'));
function getDate() {
$('.cal_daybox').on('click', function () {
var timestamp = parseInt($(this).attr('id'));
var day = new Date(timestamp);
alert("You clicked " + day.toDateString());
var url = '@Url.Content("~/Home/Index")';
var date = day.toDateString();
$.ajax({
type: "POST",
url: url,
data: { date: day.toDateString() },
dataType:"json"
});
return false;
});
EventsController.cs
public ActionResult Index()
{
return View(db.Events.ToList());
}
[HttpPost]
public ActionResult Index(DateTime date)
{
Date dt = new Date();
dt.StartDate = date;
db.Dates.Add(dt);
db.SaveChanges();
return RedirectToAction("Index", "Events", new { id = dt.DateID });
}
HomeController.cs
public ActionResult Index()
{
return View(db.Events.ToList());
}
[HttpPost]
public ActionResult Index(DateTime date)
{
Date dt = new Date();
dt.StartDate = date;
db.Dates.Add(dt);
db.SaveChanges();
return RedirectToAction("Index", "Events", new { id = dt.DateID });
}
事件控制器的索引操作没有用于接收Dateid值的参数。找不到可以接收Dateid值的操作 您需要修改现有的操作,或者像这样添加操作重载
public ActionResult Index(DateTime dateId)
{
//Do something with the val
}
public ActionResult Index()
{
return View(db.Events.ToList());
}
事件的索引操作::public ActionResult index(){return View(db.events.ToList());}问题是我无法同时发布数据和重定向到另一个页面,因为在调试器中,它向我显示重定向,但实际上它没有被重定向。这里缺少很多内容。您不应该先发布日期时间。它必须是某个viewmodel。您的视图是否强类型化为viewmodel classI?我已尝试将dateId设为int,但仍然不起作用。您的发布至少发生了吗?