今まではインストールの方法など、サポートの方面が多かったのですが、今回はテクニックというか手順というか、その辺の紹介です。
今回は、WebMatrixで使用できるヘルパーの中でポピュラーなTwitterヘルパーをASP.NET MVC 3のプロジェクトに取り込む方法を紹介したいと思います。
紹介の前に
「WebMatrixって何ぞや?」
という方のために簡単な説明をしようと思いましたが、マイクロソフトのページで詳細な紹介をしているので、割愛したいと思います。
Microsoft© WebMatrixページ
http://www.microsoft.com/web/webmatrix/
WebMatrixのヘルパーは簡単に使えるので、ASP.NET MVC 3のプロジェクトにも採用したい方も多いと思います。
では、どうやって入れていくかということですが、手っ取り早いのがNugetを利用してヘルパーをインストールする方法です。
Nugetをインストールされている環境であれば、ソリューションエクスプローラー内でプロジェクトを右クリックすると「Add Library Package Reference…」というメニューがあるはずです。それを選択すると、以下の図のような拡張機能マネージャーと似たパッケージマネージャーが立ち上がります。
ここで「Online」を選択して、検索ボックスに「helper」と入力してください。そうすると、上位に次のヘルパーが出てきますので、選択してインストールします。
・microsoft-web-helpers
・Facebook.Helper(microsoft-web-helpersをインストールすると自動で追加されます)
・Twitter.Helper
インストールされると、参照やApp_Codeフォルダなどにいろいろ追加されると思います。
この中で「Facebook」フォルダとかが作られていた場合、以下のような画面になって正常に動作しないことがあります。
「SimpleMembershipProvider が見つからない」と出るのですが、これは該当のクラスを検索すると「WebMatrix.WebData」にあることがわかるので、参照を追加してもうまく動いてくれません。
この場合、「Facebook」フォルダと「App_Code」内にある「Facebook.cshtml」を削除することで動作するようになります。
※Facebookヘルパーの方は、対応方法がわかったら機会を改めて公開したいと思います。
これでTwitterヘルパーのセットアップができましたので、コードを記載していきます。
Twitterヘルパーで使用できるメソッドは「Twitter.Profile」と「Twitter.Search」の2種類です。
今回は次のWebサイトで公開されている「Razor構文とASP.NET Webページ」の日本語訳からP.16に載っているコードを引用します。
Razor 構文と ASP.NET Web ページ
http://msdn.microsoft.com/ja-jp/asp.net/gg193039
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<form action="" method="post">
<div>
Type Twitter User Name :
<input type=text name="TwitterUser" value="" />
<input type=submit value="Submit" />
</div>
<div>
@if (Request["TwitterUser"].IsEmpty())
{
@Twitter.Search("microsoft");
}
else
{
@Twitter.Profile(Request["TwitterUser"]);
}
</div>
</form>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
このコードを実行すると、ページは以下のように表示されます。
WebMatrixで使用できるヘルパーも参照やNugetを利用すれば、ASP.NET MVC 3でも利用可能ですので、ぜひとも活用していきましょう!