参照用ソースのメモです。
1、Controllersフォルダにコントローラーを作る
2、Viewsフォルダにコントローラーごとにフォルダを作って、下にコントローラーメッソド(Action)ごとにビューページを作る
3、Global.asax.csにデフォールトページ或はコントローラーを指定する
4、コントローラーサンプル
namespace MvcApplicationEmpty.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public string Index()
{
return "Helo MVC.";
}
public ViewResult Default()
{
ViewData["greeting"] = "from HomeController.Default";
return View();
}
public string AjaxTest()
{
return "({\"a\":\"1\", \"b\":\"2\"})";
}
public string DoLink1()
{
return "HomeController.DoLink1";
}
[HttpGet]
public ViewResult DoLink2()
{
return View();
}
[HttpPost]
public ViewResult DoLink2(GuestResponse pobjGuestResponse)
{
if (ModelState.IsValid)
return View("Thanks", pobjGuestResponse);
else
return View();
}
}
}
5、ビューサンプル
<body>
<div>
Home.Default
<%: ViewData["greeting"] %>
<%: Html.ActionLink("HtmlLink1", "DoLink1") %>
<%: Html.ActionLink("HtmlLink2", "DoLink2") %>
</div>
</body>
Visual Studio 2008以前のバージョンは下記のように記述する
<%= Html.Encode(ViewData["greeting"]) %>,
6、Global.asax.csサンプル
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // ルート名
"{controller}/{action}/{id}", // パラメーター付きの URL
new { controller = "Home", action = "Default", id = UrlParameter.Optional } // パラメーターの既定値
);
}
7、Modelsフォルダにモデルクラスを作る
using System.ComponentModel.DataAnnotations;
public class GuestResponse
{
[Required(ErrorMessage="お名前を入力してください。")]
public string Name { get; set; }
[Required(ErrorMessage = "メールアドレスを入力してください。")]
public string Email { get; set; }
[Required(ErrorMessage = "携帯番号を入力してください。")]
public string Phone { get; set; }
[Required(ErrorMessage = "参加不参加を入力してください。")]
public bool? WillAttend { get; set; }
}
8、DoLink2.aspxビュー
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplicationEmpty.Models.GuestResponse>" %>
...
<body>
<div>
DoLink2
</div>
<div>
<%
using (Html.BeginForm())
{
%>
<%: Html.ValidationSummary()%>
<p>あなたの名前:<%: Html.TextBoxFor(x => x.Name) %><%: Html.ValidationMessageFor(x => x.Name) %></p>
<p>あなたのメール:<%: Html.TextBoxFor(x => x.Email) %></p>
<p>あなたの携帯:<%: Html.TextBoxFor(x => x.Phone) %></p>
<p>希望:<%: Html.DropDownListFor(x => x.WillAttend,
new[]
{
new SelectListItem{Text="Yes", Value=bool.TrueString},
new SelectListItem{Text="No", Value=bool.FalseString},
},
"選択してください。",
"asdfasf"
)
%>
</p>
<button>確定</button>
<div>
<script language=javascript>
alert('<%: Html.ValidationMessageFor(x => x.Name, "asdfadsfsafafsaf") %>');
</script>
</div>
<%
}
%>
</div>
</body>
9、Thanks.aspxビュー
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplicationEmpty.Models.GuestResponse>" %>
...
<body>
<div>
Home.Thanks
</div>
<div><%: Model.Name %></div>
<div><%: Model.Email %></div>
<div><%: Model.Phone %></div>
<div><%: Model.WillAttend %></div>
</body>
0 件のコメント:
コメントを投稿