Я хочу вернуть представление метода действия индекса в методе создания действия. Я пробовал писать return View("Index");
в методе действия индекса, но ничего не произошло. Оба мои методы действия находятся в одном контроллере. Как я могу это сделать?Как вернуть другой вид в методе действий?
Код:
public class GuestbookController : Controller
{
// GET: /Guestbook/
public ActionResult Index()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GuestbookContext"].ToString());
string query = string.Format("Select * from Guestbook");
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
List<GuestbookEntry> li = new List<GuestbookEntry>();
while (reader.Read())
{
GuestbookEntry GuestbookEntry = new GuestbookEntry();
GuestbookEntry.Name = Convert.ToString(reader["Name"]);
GuestbookEntry.Message = Convert.ToString(reader["Message"]);
GuestbookEntry.Id = Convert.ToInt32(reader["Id"]);
GuestbookEntry.DateAdded = Convert.ToDateTime(reader["DateAdded"]);
li.Add(GuestbookEntry);
}
conn.Close();
var mostRecentEntries =(from entry in li orderby entry.DateAdded descending select entry);
ViewBag.Entries = mostRecentEntries.ToList();
return View();
}
[HttpPost]
public ActionResult Create(GuestbookEntry entry)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GuestbookContext"].ToString());
string query = string.Format("Insert into [Guestbook] values ('{0}','{1}','{2}')", entry.Name, entry.Message, DateTime.Now);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
return View("Index");
}
}
Что значит «ничего не случилось»? Я думаю, вам нужно «вернуть RedirectToAction (« Index »)' – Zabavsky