0
私はmvcを初めて使用しています。私は "ビュー"で他の場合のような条件を使用しようとしていますが、 "Model.sayHello"にオブジェクト参照エラーがスローされます。モデルはnullですmvc aspxビュー
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<myMVC.Models.myMVCMaster>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<div>
<% using (Html.BeginForm("Index", "myMaster", FormMethod.Post, new { id = "SubmitForm" }))
{ %>
<%: Html.ValidationSummary(true)%>
<% if(Model.sayHello) {
<div>Hello world!</div>
<% }
} %>
</body>
</html>
コントローラー:
public class myMasterController : Controller
{
[HttpGet]
public ActionResult Index(myMVCMaster model)
{
model.InitializePage();
return View(model);
}
[HttpPost]
public ActionResult Index(myMVCMaster model, string Command)
{
}
}
モデル:
public class myMVCMaster
{
private bool _sayHello = false;
[System.ComponentModel.DefaultValue(false)]
public bool sayHello{ get { return _sayHello; } set { _sayHello = value; } }
public void InitializePage()
{
}
}
はなぜモデルがnullとして戻っていますか?
は、あなたも、カミソリを使用するプロジェクトを構成していますか?ビューの他のコード(<%... %>)は、ASPX –
を使用しています。ここでは2つの構文を組み合わせています。 –
あなたのビューは、古いaspxビューエンジンを使用しているかみそりビューエンジンを使用していないと思うので、@の代わりに<% %>を使用してみてください。 –