タグ

2013年3月4日のブックマーク (4件)

  • Razor で名前空間を using する方法と問題点 - しばやん雑記

    HTML ヘルパーを作った時には using しないと拡張メソッドなので使えないですよね。 ASPX の時にはルートの Web.config にの namespaces セクションに追記すれば、自動的に using されて使えるようになりました。 <system.web> <pages> <namespaces> <add namespace="System.Web.Helpers" /> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> <add namespace="System.Web.WebPages" /> <!-- ここに追

    Razor で名前空間を using する方法と問題点 - しばやん雑記
    aetos382
    aetos382 2013/03/04
  • Templated Razor Delegates が面白い - しばやん雑記

    Templated Razor Delegates - You've Been Haacked Razor はいろいろと拡張されていて面白いですね。C# と HTML の融合具合は VB の XML リテラルを思い出させてくれそうです。 説明やら DefineSection メソッドの引数を見る限り、Razor のテキストブロックはラムダ式やメソッドとして保持されているんでしょう。しかし以下のようにコードブロック中に @ などとテキストブロックとして書くと Func<dynamic, HelperResult> という型で取れるのは驚きですね。Razor はまだまだ奥が深い…。 @{ // Razor Delegate を Func<T> で受ける Func<dynamic, HelperResult> f = @<text>@item</text>; } ちなみに @item というのは

    Templated Razor Delegates が面白い - しばやん雑記
    aetos382
    aetos382 2013/03/04
  • ちょっと変わった ASP.NET MVC 3 でのローカライズ方法 - しばやん雑記

    ローカライズって面倒ですよね。 ASP.NET MVC 3 の Razor でも多言語対応を試してみる - しばやん雑記 でリソースを使った Razor でのローカライズ方法を書きましたが、App_GlobalResources と App_LocalResources というディレクトリを作るのは面倒です。特に App_LocalResources をビューのディレクトリごとに作らないといけないとか苦痛です。 折角 ASP.NET MVC では CoC が使われているので、リソースも規約でいろいろ出来たらいいなと思ってたら出来ました。ディレクトリ構成は以下のような感じになってます。 みにもば用に書いていたので Minimoba/Resources/Views/Shared/_Layout.resxというパスになっています。名前空間も直接対応しているので Minimoba.Resource

    ちょっと変わった ASP.NET MVC 3 でのローカライズ方法 - しばやん雑記
    aetos382
    aetos382 2013/03/04
  • ASP.NET MVC で SelectList を使ったフォームの検証を行ってみる - しばやん雑記

    ASP.NET MVC で Html.DropDownListFor を使った場合、どうやって検証を行っていますか?不正な値が選択されないという想定で作る人もいると思いますが、大抵の場合はブラウザの開発者ツールで値を改ざんされて送られる可能性を考慮する必要があります。 困ったことに ASP.NET MVC は SelectList や SelectListItem を使ってドロップダウンリストは作れるのに、その送られてきた値を検証する方法が無いんですよね。以下のようにアクションで検証する方法はありますが、それだと ModelState.IsValid が true になるのでチェックがめんどくさいですね。 [HttpPost] public ActionResult Create(UserCreateModel model) { if (ModelState.IsValid) { // t

    ASP.NET MVC で SelectList を使ったフォームの検証を行ってみる - しばやん雑記