Kobarin's Development Blog

C#やASP.NETなどについての記録です。

ASP.NET MVC

信頼レベル「Medium」(Medium-Trust)のサイトでは、ASP.NET MVCが実行できない可能性

私が個人的に契約しているWindowsホスティング会社に、MVCサイトを発行し実行したところ、セキュリティエラーが発生しました(System.Security.Policy.PolicyException)。 Visual Studioの開発環境で試してもエラーが出ないため、ホスティング会社に確認し…

ASP.NET MVCでGoogleのOAuth 2.0 の認証をする

Visual StudioのASP.NET MVCサイトのテンプレートには最初からOAuthの認証機能が付いているが、幾つか引っかかったのでメモしておきます。 基本的な流れは以下のサイトによくまとめられているため、割愛します(これ以上わかりやすく書けません)。 fnya.coc…

Umbraco+ASP.NET MVCによるサイト作成

UmbracoとMVCの併存サイトを作ったのでメモします。 まずは当方の環境から。 Umbraco 7.6.3 SQL Server 2014 ASP.NET MVC 5.2.3 Visual Studio Communication 2017 はじめに まず参考にさせていただいたのは以下の記事です。 www.buildinsider.net この記事…

SaveChanges()による特定フィールドの更新

EntityFrameworkを使って更新する一般的な事例として、よく以下のようなコードを見かけます。 [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit(Product product) { if(ModelState.IsValid) { db.Entry(product).State = EntityState.Modifi…

ASP.NET MVC で複数レコードを一括更新するフォーム

MVCのScaffoldilng機能は秀逸で、Index、Details、Create、Edit、DeleteのController+Viewをものの数秒で作り上げてくれます。 ただ、Create・Edit・Deleteいずれも1レコード単位の機能であり「一括変更」する機能はないため、自前で作る必要があります。 …

ASP.NET MVC のDisplayFormatを表示用と編集用で分ける方法

タイトルが分かりにくいですが、正確には DisplayFormat属性のDataFormatStringを、表示のみする場面(例:Index、Details)と編集する場面(例:Create、Edit)で別々に作る といった内容です。 結論「別々に作る事はできない」 という事で、当然ですがData…

ASP.NET MVCで独自DataAnnotation作成

MVCの検証に使うDataAnnotationはかなり便利で、標準のものだけでも例えば以下のようなものがあります。 Required : 必須項目化 Range : 値の範囲(例:1~100) Compare : 他プロパティと同一判定(例:メルアドを2回入力した時、等) RegularExpression :…

LINQPadで、ASP.NET MVCのModelを呼び出すの巻

MVCを始めて数ヶ月経ちますが、LINQ to Entitiesのテスト実行ができずに不便に感じていました。ControllerやModelで定義している場合、プロジェクトごとビルドしなくてはならず、効率的とはいえません。ちなみにSQL Serverには、Common SQL Environmentとい…

ASP.NET MVC 5.2 プロジェクトへのMvcSiteMapProviderのインストール方法

通常はプロジェクトを開いてNuget Package Managerで「MvcSiteMapProvider」を検索してインストールするだけですが、ASP.NET MVC 5.2の場合依存関係(MVC5.2 and MvcSiteMapProvider 4.6.x)によりインストール出来ません。 以下のサイトを参考に、コンソー…

ASP.NET MVCからSQL ServerにWindows認証ログインで接続し、イニシャライザーを実行させる

Entity Frameworkではイニシャライザーを使うことで、データモデルに基づき データベースの作成 テーブルの作成 レコードの初期生成 を自動実行してくれます。 まずはLocalDBでなくSQL Server接続の接続文字列を取得 Visual Studio環境であれば /app_data/~…