我正在研究一个问题。作为管理员,您可以在查看问题时编辑问题。
包含问题的页面可以包含以下网址:
http://localhost/Survey/DisplayQuestions/2/1
当管理员按下“编辑”链接时,将显示“编辑”视图。当管理员按下“保存”时,我想将他重定向到上一个站点,在此示例中将是:
http://localhost/Survey/DisplayQuestions/2/1
我怎样才能做到这一点?
“编辑”操作如下所示:
[HttpPost]
public ActionResult Edit(Question question)
{
if (ModelState.IsValid)
{
db.Question.Attach(question);
db.ObjectStateManager.ChangeObjectState(question, EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.category_id = new SelectList(db.Category, "category_id", "category_name", question.category_id);
ViewBag.type_code = new SelectList(db.Question_Type, "type_code", "type_description", question.type_code);
return View(question);
}
谢谢!
答案 0 :(得分:0)
您有一个控制器“调查”和操作“DisplayQuestions”。您基本上需要的是将Admin返回此操作。但是,据我所知,DisplayQuestions接收了一些参数(2/1)..因为,你必须使用相同的参数来恢复相同的状态。
我相信Question对象,包含所有必需的信息..如果没有,则必须进行扩展。
我不知道你的模型是怎样的,所以我认为问题包含Id,QuestionId字段(仅适用于intance)
[HttpPost]
public ActionResult Edit(Question question)
{
if (ModelState.IsValid)
{
// do something..
return RedirectToAction("DisplayQuestions", "Survey", new { id = question.Id, questionId = question.questionId});
}
// do something else..
return View(question);
}
这将正确地重定向到DisplayQuestions。