【问题标题】:How do I populate a textbox with some data in MVC3?如何在 MVC3 中使用一些数据填充文本框?
【发布时间】:2011-03-21 04:53:35
【问题描述】:

我有一个控制器(MigrateAccountController),它有自己的视图。它要求输入用户名和密码,然后进行一些检查。如果用户签出,我会做一个return RedirectToAction("Register", "Account", user);

我想用 user 中包含的数据(它是 RegisterModel 类型)填充用户名和电子邮件文本框。我已经尝试了所有我能想到的“htmlAttributes”的化身。一个例子是@Html.TextBoxFor(m => m.UserName), new { value = Model.UserName })

基本上我想对两件事使用相同的视图。如果视图传递了一个包含数据的模型,则使用该数据填充文本框。如果视图没有传递任何东西,则什么也不做,并将文本框留空。这是可能的还是我应该拆分视图?

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    RedirectToAction 发出服务器端重定向,指示浏览器在给定位置发出新请求。所以没有使用 RedirectToAction 在动作之间传递模型(第三个参数用于 RouteValueDictionary)。在 TempData 中保存模型,然后在 RedirectToAction 中保存模型,然后在该操作中从 TempData 中读取模型。或者为什么不直接返回视图而不是重定向。

    【讨论】:

    • 太棒了,返回视图效果很好。但是,现在当我进入注册页面时,我会立即收到验证错误。无论如何在用户尝试发布数据之前填充这些文本框而不触发验证错误?
    • 很难说没有看到任何代码或不知道您为什么不希望验证字段。
    • 我确实希望他们得到验证,但问题是我马上得到验证。在我的控制器中,我正在返回您所说的视图。它显示了我想要的方式,除了验证错误。你需要什么代码?它几乎只是您启动新 Web 应用程序时出现的默认 Register.cshtml。
    猜你喜欢
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多