這個問題在這里已經有了答案: 什么是 NullReferenceException,我該如何解決? (27 個回答) 3 天前關閉。
大家好,我是 ASP.NET MVC 初學者。我按照教科書的例子ASP.NET MVC練習但是出錯了!!它顯示空例外...
控制器 :
namespace prjHelper.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Member member)
{
string msg = "";
msg = $"註冊資料如下:<br>"
$"帳號:{member.UserId}<br>"
$"密碼:{member.Pwd}<br>"
$"姓名:{member.Name}<br>"
$"信箱:{member.Email}<br>"
$"生日:{member.BirthDay.ToShortDateString()}";
ViewBag.Msg = msg;
return View(member);
}
}
}
模型 :
namespace prjHelper.Models
{
public class Member
{
public string UserId { get; set; }
public string Name { get; set; }
public string Pwd { get; set; }
public string Email { get; set; }
public DateTime BirthDay { get; set; }
}
}
看法:
@model prjHelper.Models.Member
@{
ViewBag.Title = "會員註冊";
}
<h2>會員註冊</h2>
@using (Html.BeginForm())
{
<p>
帳號:@Html.TextBoxFor(model => model.UserId, new { @class = "form-control", required="required"})
</p>
<p>
密碼:@Html.PasswordFor(m => m.Pwd, new { @class = "form-control" })
</p>
<p>
姓名:@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
</p>
<p>
信箱:@Html.TextBoxFor(m => m.Email, new { @class = "form-control", type = "email" })
</p>
<p>
生日:@Html.TextBoxFor(m => m.BirthDay, new { @class = "form-control", type = "date" })
</p>
<p><input type="submit" value="註冊" class="btn btn-success" /></p>
<hr />
<p>@Html.Raw(@ViewBag.Msg)</p>
}
有人可以為我解釋一下嗎?謝謝。
如果你盡力而為,你就不必擔心失敗。能量和毅力征服了一切。
uj5u.com熱心網友回復:
您將視圖資料模型描述為@model prjHelper.Models.Member. 但是在public ActionResult Create()您創建的方法中View()沒有傳遞資料模型。因此它是null.
您可以使用 定義資料模型@model。它被稱為強型別視圖。因此,有必要創建Memeber物件實體并將其傳遞給視圖,如下所示:
public ActionResult Create()
{
// Create the model that will be passed to the view for rendering.
var model = new Member() { /* define properties */};
// Now created `ViewResult` object for the response.
return View(model);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/353660.html
標籤:C# asp.net asp.net-mvc 剃刀
