ViewModel 值始终为空
ViewModel values are always null
我已经学习了一些教程,我也搜索了 Whosebug,但我仍然走投无路。
基本上,我正在尝试在 MVC 5 中提交表单(虽然是 MVC 的新手,但大量使用 WebForms)。所以这是我的组件 -
控制器(./Controllers/AccountController.cs)
using BitHost.Models;
using System.Web.Mvc;
namespace BitHost.Controllers
{
public class AccountController : Controller
{
// GET: Account
public ActionResult Index()
{
return View();
}
public ActionResult Register()
{
return View();
}
[HttpPost]
public ActionResult Register(UserAccount model)
{
string sEmailAddress = model.EmailAddress;
string sPassword = model.Password;
bool bAgreedToTerms = model.AgreedToTerms;
return Redirect("/");
}
}
}
ViewModel (./Models/AccountModel.cs)
namespace BitHost.Models
{
public class UserAccount
{
public string EmailAddress;
public string Password;
public bool AgreedToTerms;
}
}
查看(./Views/Account/Register.cshtml)
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Register";
}
@model BitHost.Models.UserAccount
<div class="row">
<h2>Create a new account</h2>
@using (Html.BeginForm())
{
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span></span>
@Html.TextBoxFor(model => model.EmailAddress, new { Class = "form-control", Placeholder = "Email Address" })
</div><br />
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></span>
@Html.TextBoxFor(model => model.Password, new { Class = "form-control", Type = "password", Placeholder = "Password" })
</div><br />
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></span>
<input type="password" class="form-control" placeholder="Verify Password" />
</div><br />
<div class="input-group">
@Html.CheckBoxFor(model => model.AgreedToTerms, new { Class = "form-control" })
</div><br />
<input type="submit" name="Submit" class="btn btn-default" />
}
</div>
在注册表单上单击 "Submit" 后,我确实进入了创建帐户的 [HttpPost] 操作,但是从模型收集的变量都包含空值。
如有任何帮助,我们将不胜感激。
用户帐号不正确。像这样编辑
我已经学习了一些教程,我也搜索了 Whosebug,但我仍然走投无路。
基本上,我正在尝试在 MVC 5 中提交表单(虽然是 MVC 的新手,但大量使用 WebForms)。所以这是我的组件 -
控制器(./Controllers/AccountController.cs)
using BitHost.Models;
using System.Web.Mvc;
namespace BitHost.Controllers
{
public class AccountController : Controller
{
// GET: Account
public ActionResult Index()
{
return View();
}
public ActionResult Register()
{
return View();
}
[HttpPost]
public ActionResult Register(UserAccount model)
{
string sEmailAddress = model.EmailAddress;
string sPassword = model.Password;
bool bAgreedToTerms = model.AgreedToTerms;
return Redirect("/");
}
}
}
ViewModel (./Models/AccountModel.cs)
namespace BitHost.Models
{
public class UserAccount
{
public string EmailAddress;
public string Password;
public bool AgreedToTerms;
}
}
查看(./Views/Account/Register.cshtml)
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Register";
}
@model BitHost.Models.UserAccount
<div class="row">
<h2>Create a new account</h2>
@using (Html.BeginForm())
{
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span></span>
@Html.TextBoxFor(model => model.EmailAddress, new { Class = "form-control", Placeholder = "Email Address" })
</div><br />
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></span>
@Html.TextBoxFor(model => model.Password, new { Class = "form-control", Type = "password", Placeholder = "Password" })
</div><br />
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></span>
<input type="password" class="form-control" placeholder="Verify Password" />
</div><br />
<div class="input-group">
@Html.CheckBoxFor(model => model.AgreedToTerms, new { Class = "form-control" })
</div><br />
<input type="submit" name="Submit" class="btn btn-default" />
}
</div>
在注册表单上单击 "Submit" 后,我确实进入了创建帐户的 [HttpPost] 操作,但是从模型收集的变量都包含空值。
如有任何帮助,我们将不胜感激。
用户帐号不正确。像这样编辑