У меня есть текстовое поле в моем представлении.Я ввожу число в текстовое поле, а затем хочу, чтобы контроллер умножил число и поместил результат в текстовое поле.
Как я могу это сделать?
Это то, что я сделалуже.Давайте начнем с просмотра:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Index</title>
</head>
<body>
<div>
<h2>Please enter a number</h2>
<% using (Html.BeginForm()) { %>
<%=Html.TextBox("number")%>
<input type="submit" value="Index" name ="Index" />
<% } %>
</div>
</body>
</html>
Как видите, у меня есть простое текстовое поле и кнопка.
Это мой контроллер:
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(int number)
{
number = number * 2;
ViewData["number"] = number;
return View(ViewData);
}
}
}
Но на самом деле ничегослучается.Да, я вижу, что Почта готовится, и закодированные шаги в public ActionResult Index(int number)
.Я вижу, что число взято из текстового поля, оно умножено правильно.
Я пытался использовать ViewData, как вы можете видеть.Я также использовал TempData.Это еще один код для текстового поля в представлении, которое я пробовал:
<%=Html.TextBox("number", ViewData["number"])%>
Но это не имеет значения.Текстовое поле не обновляется с новым значением.Как я могу это сделать?