首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TextBox值在提交时为空

TextBox值在提交时为空
EN

Stack Overflow用户
提问于 2012-10-19 01:39:20
回答 2查看 3.5K关注 0票数 1

我通过选择(ASP.Net MVC2Web Application)在MVC2中创建了一个应用程序。这提供了一些Home/About控制器/模型/视图。

我另外创建了一个名为Index的模型,如下所示...

代码语言:javascript
复制
namespace MvcApplication1.Models
{
    public class Index
    {
        [DataType(DataType.Text)]
        public String Name { get; set; }
    }
}

以下是我的索引视图

代码语言:javascript
复制
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <% using (Html.BeginForm()) 
        {%>
    <%:Html.TextBoxFor(x=> x.Name) %>
    <input type="submit" name="Click here" />
    <%} %>
</asp:Content>

下面是我的控制器

代码语言:javascript
复制
[HttpPost]
public ActionResult Index(Index Model)
{
      ViewData["Message"] = "Welcome to ASP.NET MVC!";
      return View();
}

问题

当我像下面这样保持索引控制器时。如果我点击提交按钮。这是清除TextBox COntrols。如下所示

代码语言:javascript
复制
    public ActionResult Index()
    {
          ViewData["Message"] = "Welcome to ASP.NET MVC!";
          return View();
    }

如果将模型作为参数合并到操作方法中,则不会清除TextBox ...

这种行为的原因是什么?

EN

回答 2

Stack Overflow用户

发布于 2012-10-19 01:51:01

MVC不像WebForms那样在回发之间维护状态。

字段是从ModelState中的值重新填充的,这些值只有在回发时被模型绑定器看到时才会添加到那里(并且可能只在存在验证错误的情况下?)。老实说,我几乎更希望它不是自动完成的。然而,如果你回发了一个无效值(例如,一个字符串到一个整型字段),你需要一个可以存储无效值的地方,这样它就可以和验证错误一起被重新填充。

除了这种自动方法之外,您还需要手动将模型传递回视图,以便填充模型

代码语言:javascript
复制
[HttpPost]
public ActionResult Index(Index Model)
{
  ViewData["Message"] = "Welcome to ASP.NET MVC!";
  return View(Model);
}
票数 1
EN

Stack Overflow用户

发布于 2012-10-19 02:19:17

您的控制器应该如下所示,以便用户输入在单击submit按钮后停留在视图中。

代码语言:javascript
复制
public ActionResult Index( )
{
    ViewData["Message"] = "Welcome to ASP.NET MVC!";
    var model = new Index();
    return View( model );
}

[HttpPost]
public ActionResult Index(Index model )
{

    return View(model);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12960490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档