仕事でMVC4/5を使っているのだが
ASP.Net CoreやらMVC6やら気になってちょっと触ってみる。いきなりCoreではOracleが使えない事を知って意気消沈w そうか、現状はSQLServerしか使えないのか、、、ま、気を取り直してサンプルを触ってみる。参考にしたサイトとかも記述が少し古いと役に立たない。まだまだMVCフレームワークの実装が流動的で内部仕様が変わっているみたいだ。これで、またIdentity使った認証とか面倒だなと思っていると、Cookieを使った簡単な認証も用意されているようなので、そちらを使ってみる。勿論、今はDB無しなのだが、うまく行けばこれで乗り切れるんじゃないかな?
もっとシンプルにしてくれればいいのに
2016/11/3 木曜日
ASP.NET Core 1.0
2014/7/13 日曜日
mvc5
気になったのでちょっと触ってみた
mvc4と何が違うんだろう?と思ったら、いきなり認証まわりが変更されてた、、、mvc5はEntity6なのだが、どうやら現時点ではODP.netは5までのようだ。そのままだと使えそうもない。ということで、簡単ではあるが、OracleでASP.NET.Identityを無理やり動かすコードを書いてみた。取り敢えず、ログインだけは出来たが、他のInterfaceも実装しないといけないようだ。
今後も継続してメンテされるのは5のようだな、、、
2013/6/23 日曜日
asp.net MVC4 (3)
ハマりどころ
まさに、これでハマりました。さっぱり原因がわからず、小一時間ほど悩んで辿り着いたのが上記のリンク。結論としては一番最後の投稿が的確かなと。要するに、POSTされてきた値をMVCのフレームワークは内部的に保持していて(ModelState)、それを元にユーザーの定義したModelを作成してControllerに渡してくれるのだが、このModelの値をController内で変更して返してもViewに素直に反映されない。ViewはModelよりModelStateの値を優先するってことらしい。これは表示用の項目ではなく、編集用の項目でこうなるらしい。当方の場合はhiddenに入れてる値でこうなった。だから、ModelStateをClearしてしまえばModelの値がViewに反映される。で、実際、これで解決した。
ま、こういうこともあるよね
asp.net MVC4 (2)
暇を見つけては弄っているのだが
jQueryとの組み合わは相性もよく、その気になれば相当凝ったUIも作れそうだ。jQueryって便利だなぁ、、、お陰で簡単にajaxも使える。MVC側でjsonに対応しているので、まさにStrutsのASP版として使えそう。これなら、Silverlightなんて要らないんじゃない?と思えてしまう。まぁ、元々、目指す方向性が若干違うんだろうけど、、、
ActiveReportでPDFを返したり、flexigridとajaxでリストを表示したりといとも簡単に出切るので、普通のASP.NETからの乗り換えもハードルは高くない。Razorも部分Viewとかマスターページのようなものも使えるし、C#やvb.netのコードも中に普通に書ける。もうひとつ、NuGetでパッケージの管理も出来るので、MVCのフレームワークやjQueryなどのライブラリもVisualStudio上でオランライで最新版に更新することが出来る。
結構、実用に耐えられるんじゃないだろうか
2013/6/8 土曜日
asp.net MVC4
ちょっと調査で触ってみる
以前にも少し試してみたが、MSの商品はVer4以降が本番という伝統に従って、使い勝手も向上。MVC3より登場したjavaでいうjspに相当するRazorもなかなか使いやすい。標準でjQueryが添付されるなど、Ajaxをバリバリ使いたい人にはもってこいだろう。よくわからないのは、ASPで用意されているForm認証機能をOracleで使う場合だ。見よう見まねでMemberShipProviderを書いてはみたものの、本当にこれでいいの?って、、、一応、認証チケットは貰えているようだけど。
当方の場合、仕事の9割はOracleで、最近までEntity対応のドライバがなかったODPでは今更LINQ覚えようって気にもならず不安視していたが、EntityやLINQを無理に使わなくてもMVCを使えるようだ。普通にJSONにも対応しているので、jQuery用の表とかもAjaxで使える。
これはなかなかイイかも
2012/10/21 日曜日
asp.net mvc4
vs2010にmvc4を入れてみた
mvc4のインターネットアプリケーションのテンプレートで作成された雛形で、以前のようにForm認証でSQLサーバー以外を使おうとすると思うようにいかない。MembershipProviderはExtendedMembershipProviderより派生させないといけないようだ。
Public Class MyMembershipProvider Inherits WebMatrix.WebData.ExtendedMembershipProvider
ProfileProviderやRoleProviderは前のままで通った。
web.configには以下のような記述を追加。
<appSettings>
<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />
</appSettings>
<system.web>
<membership defaultProvider="MyMembershipProvider">
<providers>
<clear />
<add name="MyMembershipProvider"
type="Test.MyMembershipProvider"/>
</providers>
</membership>
</system.web>
これでMySqlなりOracleからでも使えそう。