ASP.NET Core MVC のDIコンテナを利用する Part.1

前回までのあらすじ

DIを
使おう

mrgchr.hatenablog.com

続きを読む

ASP.NET Core MVC のDIコンテナを利用する Part.0(準備編)

Dependency Injection(DI)は有益だという前提で話をします

「SOLID原則」などに代表されるオブジェクト指向設計のパターンや原則は、「まあ、大事だよねえ」と思いつつも、「そうは言っても今一つピンと来ないなあ」と思ったりすることもあったりします。
ですので、今日はDIコンテナの話を書くのですが、「なぜ有益か」という話はあまり深入りしないようにしようと思います。

続きを読む

ASP.NET Core MVC で、コントローラー名とアクション名とかをインテリセンスに無理矢理対応させる Part.2

前回までのあらすじ

無理矢理でも
勢いで
頑張ろう

mrgchr.hatenablog.com

続きを読む

ASP.NET Core MVC で、コントローラー名とアクション名とかをインテリセンスに無理矢理対応させる Part.1

TagHelperでもやっぱりインテリセンスが利かなかったりする

ASP.NET Core MVC(a.k.a. MVC6)にて追加されたTagHelperについては、最初「なんじゃこりゃ?WebForms(ASPX)か?」などと訝しく思っていましたが、慣れてしまうと今度は従来HTMLHelperの方が変に見えてしまうに至りました。人間とは勝手なものです。

こんなの(TagHelper)↓

<div class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
    <li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
    <li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>
    <li><a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a></li>
  </ul>
</div>

対してHTMLHelper(従来)はこんな感じ↓

<div class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
    <li>@Html.ActionLink("Home", "Index", "Home")</li>
    <li>@Html.ActionLink("About", "About", "Home")</li>
    <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
  </ul>
  @Html.Partial("_LoginPartial")
</div>

HTMLHelperでは、ActionLinkなどでコントローラーやアクションを指定する箇所は上記のように文字列で、そこではVisualStudioのインテリセンス(コード補完)は利きませんでした。
TagHelperの登場で何か変わるのかなと期待したのですが、やっぱりコントローラーやアクションの記述にはインテリセンスは利いてくれません。

続きを読む