ASP.NETでのQuillの使い方
WindowsFormとWPFではQuillを試したので、
ASP.NETでもQuillを試してみた。
基本的には全てのページでinjectをしてやれば問題ないようだ。
だが、バージョン1.3.15ではうまく動作しない。
理由はここでも、少し前にはまった、
いつの間にか追加されていた「同じクラスのDIは2度しない仕様」の為だった。
Page_Loadは何度も実行されるが、
2度目以降にはインジェクションされず、NULLになってしまう。
このへんはバージョン1.3.16で修正されているので、
ASP.NETでQuillを使う場合は1.3.16を使うこと。
それ以外は、特に気になることはなかった。
そこまで突き詰めて確認したわけではないが、
WindowsFormと同じように使えるはずだと思う。
WebForm1.aspx.cs
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Seasar.Quill; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected CalcLogic _calcLogic; protected void Page_Load(object sender, EventArgs e) { QuillInjector injector = QuillInjector.GetInstance(); injector.Inject(this); } protected void btnAdd_Click(object sender, EventArgs e) { txtResult.Text = _calcLogic.Add(txtParam1.Text, txtParam2.Text); } protected void btnClear_Click(object sender, EventArgs e) { txtResult.Text = string.Empty; txtParam1.Text = string.Empty; txtParam2.Text = string.Empty; } } }
CalcLogic.cs
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Seasar.Quill.Attrs; namespace WebApplication1 { [Implementation] public class CalcLogic { public string Add(string param1, string param2) { int result = Convert.ToInt32(param1) + Convert.ToInt32(param2); return result.ToString(); } } }