読者です 読者をやめる 読者になる 読者になる

IT業界のすみっこ暮らし

ふと気がついたときの記録

C#

.NET & Ajax:ファイルダウンロードのcallback設定を行う

既存のファイルダウンロード コントローラーでFileを返して、location.hrefでファイルダウンロードを行う。 HomeController.cs public ActionResult FileDownload() { byte[] stream; string fileName; // 処理 return File(stream, "application/vnd.openxm…

string文字列のxmlパーシング

XML <Data> <CustomerName>名前</CustomerName> <OrderList> <OrderData> <OrderName>注文1<OrderName> </OrderData> <OrderData> <OrderName>注文2<OrderName> </OrderData> </OrderList> </Data> 単品項目の値を取得 using System.Xml; string xml = パーシングするXMLのstring文字列; XmlDocument xml = ne…

ASP.NET MVC:ModelStateのエラーメッセージ一覧を取得する

普段Modelのバリデーションチェックをして、エラーを格納するとき、以下のようにエラーメッセージを入れて ModelState.AddModelError("", "○○が見つかりません。再度お試しください。"); ViewでValidationSummaryやValidationMessageを使ってエラーメッセー…

WP TEST PJ

pie001.hatenablog.com 上記で例としてあげてたWP TEST PJのソースコード github.com WordPressのデータをASP.NET MVCで作成したサイトでデータ閲覧とか会員追加とかできないかな?と思って試しに作ったものになります。

ASP.NET MVC サイトのサムネイル画像を作成しサイト内で表示する

GitHub ソリューション丸ごとアップ済み github.com 表示例

Entity Framework:最新の日付のレコードを抽出

DBサンプル tb1 Id DetailId LastUpdatedAt 1 101 2017-02-01 01:00:00 2 101 2017-02-01 10:00:00 3 101 2017-02-02 01:00:00 4 102 2017-02-01 01:00:00 5 102 2017-02-02 01:00:00 tb2 DetailId Name 101 Name1 102 Name2 例1 tb1から同じDetailIdを持つ…

EntityFrameworkでMySQL接続

qursaan-howto.blogspot.jp 1、必須条件 「mysql-installer-community-5.7.3.0-m13.msi」をインストールするか 「mysql-visualstudio-plugin-1.1.1.msi」と「mysql-connector-net-6.8.3.msi」をインストールする。 ダウンロードミラー http://mirror.cogent…

ASP.NET MVCでCSVダウンロード

test.cshtml <button class="btnCsvDownloadList" type="button">CSVダウンロード</button> <script src="~/Scripts/pages/test.js"></script> test.js $('.btnCsvDownloadList').click(function () { var documentUrl = document.URL; var baseUrl = documentUrl.substring(0, documentUrl.indexOf('currentPageName')); // base…

個人的によく使うlinqサンプル

よく書いてる内容をまとめてみました。今後も随時追記予定。 Model Sample Model // List<TestModel> testList = new List<TestModel>(); public class TestModel { public int Id { get; set; } public string Name { get; set; } public int Quantity { get; set; } public decim</testmodel></testmodel>…

.net fiddle Security Exception

iTextSharpを入れてPDF出力を試してみたけどSecurity Exceptionで表示されなかった。

CSV出力サンプル(C#/.net fiddle)

pie001.hatenablog.com 上記コードのサンプルを作ってみた。 これから他もこんな感じで動きが見える状態で投稿できるかも知れない。 fiddle上だとreturn Fileに設定したファイル名がなぜか効かないけど(アクション名でダウンロードされる)、ちゃんとCSV形…

C#でCSVファイル出力時に最後にNULL文字コードが挿入される問題(byte[]変換問題)

pie001.hatenablog.com 上記のCSVファイル出力をする際に起きた問題。 streamをbyte[]に変換するときにGetBuffer()を使用 return stream.GetBuffer(); 一番最後にNULL文字コードがたくさん追加されてる!? stackoverflow.com 調べたらGetBuffer()の代わりに…

CSVファイル作成(C#)

public byte[] GetCsv() { var stream = new MemoryStream(); var csvWriter = new StreamWriter(stream, Encoding.GetEncoding("shift-jis")); csvWriter.WriteLine(String.Format("{0},{1},{2},{3}", "aaa", "bbb", "ccc", "ddd")); csvWriter.Flush(); re…

正規表現確認用(C#)

Visual Studioの書式設定

Visual StudioのC#の書式設定を確認&設定 「ツール」→「オプション」→「テキストエディター」→「C#」→「書式設定」 全般 Visual StudioのJavaScriptの書式設定を確認&設定 「ツール」→「オプション」→「テキストエディター」→「JavaScript」→「書式設定」 …

StyleCop(VS拡張機能のC#スタイルチェック)

github.com 使い方 導入後、Visual Studioの「ツール」→「Run StyleCop」で実行。 「Run StyleCop」を実行すると、チェック結果がエラー一覧に表示される。(SA..で始まるエラーがそれに当てはまる) StyleCopの設定 「ソリューション エクスプローラー」→「…

CodeMaid(VS拡張機能のコード整形ツール)

公式サイト CodeMaid | An open source visual studio extension to cleanup, dig through and simplify our code ダウンロード CodeMaid - Visual Studio Marketplace 参考になりそうなサイト moriblog.kit-eng.com 導入後はVisual StudioのCODEMAIDからメ…

FxCopで.NETのプログラミングチェック

ダウンロード fxcopinstaller.codeplex.com FxCopは、.NETのプログラミング内容が適切かチェックするMicrosoftのツールです。基本的にMicrosoftが提供する「クラス ライブラリ開発のデザインガイドライン」に基づいて「アセンブリ」を分析します。 でも実務…

非連続的なArray要素をModelにバインドする(ASP.NET MVC)

参考サイト stackoverflow.com 問題 JSで特定の条件のときのみ、入力項目を表示&その入力項目は配列である場合、 nameに宣言されている配列の順番が途切れ途切れになってしまい、上手くModelに格納されないことがあった。 解決方法 参考サイトの回答にある…

C#でメール受信・削除(OpenPoP.NET)

参考サイト hpop.sourceforge.net メール受信・削除呼び出し using (Pop3Client pop3Client = GetPop3Client()) { var pop3 = new Pop3Mail(); List<MailInfo> receivedMailList = pop3.ReceiveMails(pop3Client); pop3.DeleteMessageByMessageId(client, 1); // Messa</mailinfo>…

timestamp/DateTimeから経過時間を取得する(C#)

DateTimeより経過時間を取得 public static string GetLapsedTimeFromDateTime(DateTime dt) { string timeString = string.Empty; TimeSpan ts = DateTime.Now.Subtract(dt); int DayPeriod = Math.Abs(ts.Days); if (DayPeriod < 1) { int HourPeriod = Ma…

EPPLUS テンプレートからエクセルファイル作成

using System.IO; using OfficeOpenXml; // テンプレートファイルを元にDBから取得した値を指定したセルに設定したい場合、且つbyte[]をエクセルでファイルダウンロードさせる場合 byte[] source; MemoryStream stream = new MemoryStream(); using (var tem…

EPPLUSでエクセルファイル作成

.NET環境でエクセル出力をする場面があったので自分用にまとめてみました。 using OfficeOpenXml; using OfficeOpenXml.Style; /// <summary> /// Modelデータを元にExcel作成 /// </summary> /// <param name="excelModel"></param> /// <returns>byte[]</returns> public byte[] MakeDetailsAsExcel(ContractExcelModel excelModel)…

iTextSharpを使ったPDF作成

.NET環境でPDF出力をする場面があったので自分用まとめ。 基本的にPDF作成は各要素をテーブルにして作成した方が調整するときにやり易い。 using iTextSharp.text; using iTextSharp.text.pdf; /// <summary> /// PDFファイルを作成 /// ※1、フォーマット用のPDFファ</summary>…