タグ

ブックマーク / takepara.blogspot.com (10)

  • ASP.NET MVCでDataAnnotationsのエラーメッセージをカスタム

    ちょっとこの質問見てみてくださいよ! Asp.Net MVC 2 - Changing the PropertyValueRequired string. - Stack Overflow ASP.NET MVCのDefaultModelBinderにはResourceClassKeyっていうプロパティがあって、そこに自作リソースを指定して、文字列リソースのキー名にPropertyValueInvalid/PropertyValueRequiredっていうのを作っておくと、アプリケーション全体にその文字列が適用される。でもInvalidは動作するけどRequiredがぜんぜん適用されません!っていう内容なんですね。 これ質問もなかなか面白いからか、特別ポイントが付与される質問だったんです。なので、張り切って思ってソース追っかけたりしながら動作を見てみたわけですよ。そしたら確かにInvali

    ASP.NET MVCでDataAnnotationsのエラーメッセージをカスタム
  • HighPerformanceSessionStateProvider

    ASP.NET Univarsal Providers のセッションプロバイダを使ってみる (2) « ブチザッキ カメさんのこのエントリーに対してこんなコメントをしてみたわけですが、具体的なコードを提示しないで案だけ出すって、そんな失礼なことがあっちゃいけねー。江戸っ子なら宵越しの銭はもってちゃいけねー。江戸っ子じゃないんですけどね。 まずは現状確認。カメさんのコードをいただきつつ。ASP.NET MVC3のサイトをデフォルトで作成。ASP.NET Universal ProvidersをNuGetでインストール。web.configでSessionStateの設定をCookieless="UseUri"とTimeout="1"に変更(検証が簡単だからね)。 using System; using System.Net; namespace ConsoleApplication1 { c

    HighPerformanceSessionStateProvider
  • 全角数値を半角数値に変換するModelBinder

    拝啓、まゆきっつぁん いつも、The Shodoにて筆の練習をさせていただいてます。ただ、いつまで経っても筆ぺんでは上手にかけるようになれません。物の習字道具を使わないと練習の成果が出ないのでしょうか?The Fudepenで練習すると効果が期待できるかもしれないですね。是非、考慮いただければと思います。 先日のmvcConf @:Japan懇親会での一件について。ふと、思い出したので書いてみました。あの時はValueProviderがどうのこうのという話になったような気がしないでもないですが、ValueProviderではレイヤ低すぎて型は意識されてないのダメですね。 こんな感じでいかがでしょうか?整数に限定してますが、応用すると他にもいろいろできると思います。 public class IntegralModelBinder : DefaultModelBinder { privat

    全角数値を半角数値に変換するModelBinder
  • EF4.1 CodeFirstでenumを使いたい

    最近、いろんなお誘いメールがケータイに舞い込んできて、いやもうマジクリックしちゃうぞコノヤロー。そんなに誘惑するんじゃないよ! なんか迷惑メールが地震以降強烈に増えましたね。 結局enumはサポートされないことが決定してしまったCodeFirst。しょうがないですね。RCからRTMまでの間で機能追加はないので、ここは潔く諦めましょう。 でも、やっぱりenumを使いたいですよね。プロパティをパースするときにenumかenumのジェネリックは完全にスルーされてデータベーステーブルがScaffoldingされます。なのでComplex Typeとしてenumをラップしたクラスを用意し「オレenumじゃないよ、全然関係ないから!」とEFを騙す必要があります。 Tip 23 – How to fake Enums in EF 4 - Meta-Me - Site Home - MSDN Blogs

    EF4.1 CodeFirstでenumを使いたい
  • Razor Helper的なForEachでテンプレート

    今年も終わりですね。タイトル意味分かんないですね。 来週から夏休み&年末年始休暇に入るので、今年の仕事終了です。てへ。ブログサイトがあるのをすっかり忘れるくらい追い込まれる毎日。よくもまぁ、こんな状態が続くもんだと感心するばかりです。え?きれてねーよ。 そんなことはいいんですけどね、ちょっとここ見てみてくださいよ。 Razor, Nested Layouts and Redefined Sections - Marcin On ASP.NET - Site Home - MSDN Blogs ナイスエントリーにも程があるデスヨ。 Layout用のビューを直接指している、子供ビューのセクションはみえるけど、多段Layoutになってて孫ビューのセクションはスコープの範囲外でエラーになっちゃうっていうエントリー。 実際に試してみたらたしかに動かない。Section not defined。そ り

    Razor Helper的なForEachでテンプレート
  • Demotterについて

    ASP.NET MVC 2になって変更された箇所はとても多いです。MVC 2での新しくなった部分を紹介するサンプルとしてMvcPresenterというのを作成することにしました。Demotterという名前はEdtterへのオマージュ(?)。 MVC 2の新機能のうちマニアにはたまらないだろうなと思って目をつけたのが各種Providerモデルへのリファクタリング部分で、MvcPresenterではそのうちIValueProviderを実装したValueProviderFactoryのカスタム化と言う部分をメインに実装しています。 いきなりそんな話をされても意味がわからないと思うので、順を追って説明していきます(ASP.NET MVCについての基的な知識は前提です)。 そもそもMVCではポストバックがないので、TextBoxやRadioButtonなどの入力用サーバーコントロールは使用しませ

  • ダイヤモンドは砕けない

    ゆりかもめに初めて乗りました。 わーい、自由の女神だー。あははー。あはははー。はぁ...。 台場でTechDays2010のBoFに出てきたんです。 「4 の時代の Web アプリケーションを語ってみよう」 小野さんとナオキさんと三人でのおしゃべりはTechEd 2009の時とあわせて2度目です。相変わらず打ち合わせとかしないのにはヒヤヒヤです。 ASP.NET 4になっていろいろすごいじゃないですか。その辺の話をしましょうよ、ということだったので、たけはら担当はもちろんASP.NET MVC 2。一応事前に書いておいたメモをブログにも載せておきます。 メジャーな部分 データ検証の方法がDataAnnotationsを基にしたものになりました。 これまで通りIDataErrorInfoを実装したものも有効ですが、ValidationAttributeをモデルまたはモデルプロパティに指定(

    ダイヤモンドは砕けない
  • 無聊を託つ: ASP.NET MVCに似合うSubmitの振り分け

    How can I change the action a form submits to based on what button is clicked in ASP.NET MVC? - Stack Overflow 前にも、この方法について考えたことがあって、その時はストラテジパターンを使ってDelegateでのコマンド振り分けでの実装をしてたんですが、少し前に違う方法を実装してるのを見て悔い改めたんです。 MVCによく似合う方法は、属性ベースで対象となるアクションを振り分ける(判定する)方法ですよね。 AcceptVerbsでHTTP Method毎に処理を振り分ける事ができるのを上手く利用して、Submitの値毎に処理を振り分けるためにActionMethodSelectorAttributeを派生したSubmitCommandAttributeというのを定義していました。 us

    無聊を託つ: ASP.NET MVCに似合うSubmitの振り分け
    mayuki
    mayuki 2010/01/02
    submit時の処理を属性で設定するやりかた。
  • Expression生成のスピード?

    いけてるINotifyPropertyChangedの実装は、結構遅かった - かずきのBlog@Hatena 正月から興味深いエントリですね。 遅くなるのは毎回のCompileと引数に渡してるExpression生成ですかね。Compileはキャッシュしてしまえば毎回生成する必要は無いですが、そもそも以下のようにすることでCompileそのものが不要に。 public static void Raise2<TResult>(this PropertyChangedEventHandler _this, Expression<Func<TResult>> propertyName) { // ハンドラに何も登録されていない場合は何もしない if (_this == null) return; // ラムダ式のBodyを取得する。MemberExpressionじゃなかったら駄目 var m

    Expression生成のスピード?
    mayuki
    mayuki 2010/01/02
    INotifyPropertyChangedの良い感じの実装の話。
  • ボフったー

    日BoFに参加してくださったみなさま!ありがとうございました! 超、緊張しました。結構あれこれとしゃべること用意してたんですが、全然しゃべれませんでした。自己紹介を途中棄権ってなんだよ!みたいな。 内容的にはちゃんと「適材適所で使い分け」というのを入れたかったんですが、なにもかもが後の祭り。だって、管理画面なんか小野さんのサンプルみたいにゼロコーディングで出来たら最高ですよね。ViewState/PostBackなPage Controllerスタイルで、コントロールに処理を完全に委譲してしまうWebFormは最強です。それらの機能を少し横取りして、Pageからすべての機能を切り離し(この時点でもうアーキテクチャスタイルが違うので比較することじたいに無理があるんですけど)Front ControllerスタイルにしたASP.NET MVCによるスクラッチ開発は面白さ爆発です! とにかくま

  • 1