- Я хочу отправить сообщение пользователюID = 3, перейдя в /MyController/Message/ 3
- Выполняет действие Message() [get], я ввожу текст в текстовую область и нажимаю "Сохранить", чтобы опубликовать форму
- Действие Message() [post] сохраняет изменения, сбрасывает значение SomeText для удаления строки и возвращает в представление.
В этот момент я ожидаю, что текстовая область будет пустой, потому что я установил ViewData [ "SomeText" ] в string.Empty
Почему значение текстовой области не обновляется до пустой строки после действия post?
Вот действия:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Message(int ID)
{
ViewData["ID"] = ID;
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Message(int ID, string SomeText)
{
// save Text to database
SaveToDB(ID, SomeText);
// set the value of SomeText to empty and return to view
ViewData["SomeText"] = string.Empty;
return View();
}
И соответствующее представление:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm())
{ %>
<%= Html.Hidden("ID", ViewData["ID"])%>
<label for="SomeText">SomeText:</label>
<%= Html.TextArea("SomeText", ViewData["SomeText"]) %>
<input type="submit" value="Save" />
<% } %>
</asp:Content>