MVC
実は ModelMetadata には Watermark プロパティが用意されていて、Display 属性の Prompt プロパティの値が自動的にセットされるようになっています。つまり、この値を使ってあげれば属性ベースで Watermark を実装できそうです。というわけで、jQuery Water…
ASP.NET MVC ではモデルクラスに設定されたデータアノテーション属性は、使用時に ModelMetadata へキャッシュされる形になってます。ModelMetadata クラス (System.Web.Mvc)データアノテーションを読み込んでいるのは DataAnnotationsModelMetadataProvider…
前回は IsValid という拡張メソッドを用意して対応しましたが、今回は BeginForm のように IDisposable と using を使って書き換えてみます。今回は拡張メソッドと IDisposable を実装したクラスを用意しました。実装は BeginForm と MvcForm クラスを参考に…
前回ではフォームのスタイルとスキャフォールディングを弄って、デフォルト時の見た目は非常にかっこよくなりました。しかし、実際に submit してみるとエラー表示が結構残念な感じです。当然ながら Bootstrap のクラスを使っていないからですね。ちなみに M…
昨日は Bootstrap を使う準備で眠たくなったので、今日はフォームを中心に弄ってみましたよっと。とりあえず適当にモデルクラスを作って、コントローラとビューをスキャフォールディングで自動生成して実行してみました。残念な結果になりました。しかし、ス…
こんばんわ、デザインが全くできない男。しばやんです。そんな私でも Twitter Bootstrap を使えばあっという間に最近っぽいイケてる Web サイトが簡単に作れちゃうんですよ。Page not found · GitHub Pagesパッと見は導入めんどくさそうだと思いますよね?自…
Project Silk とか EFMVC とか Maintainable MVC Series を読んでると、どれもモデルが非常に厚いんですよね。 よくサンプルコードであるような EF の DB Model を直接 View に流し込むような作り方は使われていないわけですよ。そして、今朝 MVVM Framework…
ASP.NET MVCの依存性注入とMEF 2Project Silk では Unity を使ってましたが、MEF 2 からは MVC 3 向けに IDependencyResolver の実装が入るみたいですね。さらにカタログを作らなくても規約ベースで上手いことインジェクションしてくれるみたいです。Managed…
これは C# Advent Calendar 2011 用の記事です。 皆さんこんばんは、もうちょっとで今年一年終わりですね。まあ、そんなことはどうでもいいとして Ever17 の箱版プレイしましょうね。さて、今回は C# Advent Calendar と言いながら JavaScript かよ!という…
前回はコントローラのコンストラクタでリポジトリのインスタンスを受け取るようにしてましたが、今回は IServiceLocator を経由してリポジトリのインスタンスを取得するようにしてみます。ServiceLocator を使うと UnityContainer で登録したクラスのインス…
Unity を使うと事前に登録しておいたクラスは自動的にインジェクションが行われて非常に嬉しいのですが、Entity Framework で使う DbContext は複数インスタンスが作られると、変更追跡やトランザクション的な意味でよろしくないですよね。そこで Unity には…
ASP.NET MVC 3 から DI のサポートが追加されたんですが、どうも DI って好きになれなかったので放置してました。 しかし、Project Silk のソースコードを読んだのがきっかけになり、今更 DI について調べています。とりあえず ASP.NET MVC 3 プロジェクトを…
データベースに更新があった場合には、やっぱりキャッシュを削除して即時反映できるようにしたいですよね。普通なら SqlDependency を設定してあげればいいんでしょうけど、SQL Server の変更通知って正直設定よくわかってないですし、レンタルサーバで使え…
最近、サーバサイドでの対応が必要な HTML5 関連技術について調べていました。しばやんです。WebSocket は WCF WebSockets 使ったら楽勝!でしたが、HTML5 には Server-Sent Events という Comet を簡単に使えるようにした機能が用意されています。これは HT…
WebMatrix だったり MVC 4 だったりで忙しいですが、いつも通り気まぐれで紹介していきたいと思います。さて、今回は ASP.NET MVC 2 から追加された非同期コントローラが、MVC 4 から .NET 4 で追加された Task クラスに対応したので、それを紹介したいと思…
初めに謝っておかないといけないことが。前に書いたこれ ASP.NET MVC で確認画面を表示させてみる - しばやん雑記 が全く動いてなかったんですよね(白目なので、今回は確認画面を表示する完全版を作成したので、説明と使い方をつらつらと書いていきます。ま…
Writing a Recipe for ASP.NET MVC 4 Developer Preview安心の信頼の Phil さん。原稿が終わったらいろいろと検証してみますが、とりあえず Recipe SDK を入れたら nuspec やらアセンブリ参照やら自動で行われて、テンプレートも作成されるみたいですな。 In…
ロードマップにあったビューにサフィックスを付けるあれです。機能自体は非常にシンプルで DisplayModes クラスを使うだけですが、名前空間が System.Web.WebPages となっているので注意してください。WebPages にあるということは WebMatrix でも使えるのか…
毎回新しいアセンブリが出るたびにインテリセンスなどで変更点が無いか調べてます。リリースノートに書いてない変更はやっぱりありますよね。 新しいスキャフォールディングテンプレート 今まではスキャフォールディングのテンプレートとして 空のコントロー…
BUILD で赤シャツの人が MVC 4 弄ってると思ったら、Developer Preview が公開されました。Categories - You've Been Haackedダウンロードはこっちから。まず、Web PI 4.0 がインストールされ、その後に MVC 4 DP がインストールされます。http://www.asp.ne…
ASP.NET MVC 3 のスキャフォールディングを使うと、DisplayFor と EditorFor を使ったビューを生成してくれますよね。ネットの海を彷徨ってみると、DisplayTemplates と EditorTemplates というディレクトリを用意すると、自由に出力を変えることが出来るよ…
こんばんは。メイドさんを雇いたい男、しばやんです。とある Web サービスを作るために、ドメインを取得してサブドメイン毎に機能を割り当てたいなー。と思ったので、ASP.NET MVC 2 で追加されたエリアを使って実現してみました。まずはドメイン周りの設定を…
こういった誰でも考えるであろう内容は、タイトルに悩みますな…。とりあえず、外部スクリプト参照以外にスタイルの定義や DOM 構築時などにビュー固有の処理を行いたい場合には head タグ内に <style type="text/css"> body { ... } </style> <script type="text/javascript"> $(function() { // ここで DOM に触る }); </script> と…
ASP.NET MVC 4 RoadmapASP.NET MVC 4 のロードマップが公開されましたが、この中には MVC フレームワーク自体の新機能は思ったより多くない感じですね。開発環境周りの充実やパフォーマンス改善など、実際に開発・運用する上での問題点解消に取り組んでいく…
あまり使ってる人を見ない Razor の新機能であるセクションなんですが、最近の Web サービスのようにサイドバーに情報を表示したりする場合に非常に有用です。今回はこのブログのサイドバーのようなデザインを ASP.NET MVC 3 で作ってみたいと思います。とり…
HTML5 と data URL scheme - しばやん雑記 で書いた data URL を ASP.NET MVC で使いやすくするためのヘルパーを作りました。使い方はシンプルで Url.ToDataUrl メソッドを呼び出すだけです。 @* ファイルから data URL を作成する *@ <img src="@Url.ToDataUrl("~/Content/temp.png", "image/png")" /> そして ToDataUrl の…
ローカライズって面倒ですよね。ASP.NET MVC 3 の Razor でも多言語対応を試してみる - しばやん雑記 でリソースを使った Razor でのローカライズ方法を書きましたが、App_GlobalResources と App_LocalResources というディレクトリを作るのは面倒です。特…
ASP.NET MVC で利用できる入力検証は思ったより多くありません。正規表現で指定できる検証属性が用意されていますが、よく使われるであろうメールアドレスなどの検証を行うためには、自分で正規表現を書くなどして指定する必要があります。私は普段 PHP で業…
XMLHttpRequest Level 2 と XDomainRequest でクロスドメイン通信を行うためには Access-Control-Allow-Origin などのヘッダを返す必要があります。こういうのはアクションフィルタで実装するに限りますね。というわけで AccessControl というそれっぽいよう…
http://api.twitter.com/1/statuses/home_timeline.xmlみたいなやつです。xml を json に変えると json になります。元々はたけはらさんの Jsonable 属性を見て思ったんですけど、ルーティングを定義して昔作った XmlResult を使ったらいい感じになりました…