J'ai une zone de texte dans ma vue. Je saisis un nombre dans la zone de texte, puis je veux que le contrôleur multiplie le nombre et place le résultat dans la zone de texte.Comment mettre à jour la valeur de la zone de texte
Comment puis-je faire cela?
C'est ce que j'ai déjà fait. Commençons par la vue:
<%@ 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>
Comme vous pouvez le voir, j'ai une zone de texte simple et bouton.
Ceci est mon contrôleur:
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);
}
}
}
Mais rien ne se passe vraiment. Oui, je vois le poste est en cours, et les étapes codées dans public ActionResult Index(int number)
. Je vois que le nombre est pris dans la zone de texte, il est multiplié correctement.
J'ai essayé d'utiliser ViewData comme vous pouvez le voir. J'ai également utilisé TempData. Ceci est un autre code pour la zone de texte dans la vue, je l'ai essayé:
<%=Html.TextBox("number", ViewData["number"])%>
Mais il n'a pas d'importance. La zone de texte n'est pas mise à jour avec la nouvelle valeur. Comment puis je faire ça?
ok merci pour la réponse! – Thomas