自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。
2010年8月30日月曜日
2010年8月26日木曜日
UpdatePanel使用コツ
①クライアントのjavascriptを実行する
private void RunClientScript(string key, string content)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanelGridView, typeof(UpdatePanel), key, content, true);
}
②PageLoadイベントに非同期リクエストかどうかを判断する
ScriptManager170.IsInAsyncPostBack
private void RunClientScript(string key, string content)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanelGridView, typeof(UpdatePanel), key, content, true);
}
②PageLoadイベントに非同期リクエストかどうかを判断する
ScriptManager170.IsInAsyncPostBack
2010年8月20日金曜日
URLルート知識
URLルート追加:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", // Parameter defaults
id = UrlParameter.Optional }
);
本来の書き方:
Route myRoute = new Route("{controller}/{action}/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary( new {
controller = "Home", action = "Index", id = UrlParameter.Optional
})
};
routes.Add("Default", myRoute);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", // Parameter defaults
id = UrlParameter.Optional }
);
本来の書き方:
Route myRoute = new Route("{controller}/{action}/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary( new {
controller = "Home", action = "Index", id = UrlParameter.Optional
})
};
routes.Add("Default", myRoute);
2010年8月19日木曜日
lambda式サンプル
C#3.0からlambda式文法が提供されました、ここでlambda式使用方法を紹介します。
関数定義:
private int test01(int p1, Func<int, int> func1)
{
return func1(p1);
}
この関数の第二引数は一つのint引数とint戻り値の関数式を指定しています。
lambda文法使用例:
int temp = 0;
temp = test01(5, x => x * x); // 25
temp = test01(5, x => x + x); // 10
temp = test01(5, x => x - x); // 0
関数定義:
private int test01(int p1, Func<int, int> func1)
{
return func1(p1);
}
この関数の第二引数は一つのint引数とint戻り値の関数式を指定しています。
lambda文法使用例:
int temp = 0;
temp = test01(5, x => x * x); // 25
temp = test01(5, x => x + x); // 10
temp = test01(5, x => x - x); // 0
2010年8月18日水曜日
Ninject(IoC/DIコンテナ)
Don't call me, I will call you.
Ninject入門サンプル
一、ログ出力インターフェースを宣言する
Ninject入門サンプル
一、ログ出力インターフェースを宣言する
- public interface ILogger
- {
- void Write(string message);
- }
- public class FlatFileLogger : ILogger
- {
- public void Write(string message)
- {
- Console.WriteLine(String.Format("Message:{0}", message));
- Console.WriteLine("Target:FlatFile");
- }
- }
- public class DatabaseLogger : ILogger
- {
- public void Write(string message)
- {
- Console.WriteLine(String.Format("Message:{0}", message));
- Console.WriteLine("Target:Database");
- }
- }
- internal class MyModule : Ninject.Modules.NinjectModule
- {
- public override void Load()
- {
- Bind<ILogger>().To<FlatFileLogger>();
- Bind<ILogger>().To<DatabaseLogger>();
- }
- }
- private static IKernel kernel = new StandardKernel(new MyModule());
- static void Main(string[] args)
- {
- ILogger logger = kernel.Get<ILogger>();
- logger.Write("Bruce Say: Hello Ninject!");
- Console.WriteLine("continues..");
- Console.Read();
- }
2010年8月17日火曜日
Asp.Net MVC2必須技術のまとめ
Ninject
http://ninject.org/
WatiN
http://watin.sourceforge.net/
moq
http://code.google.com/p/moq/
オプション:(勉強したほうがいい)
SpecFlow
http://specflow.org/
http://ninject.org/
WatiN
http://watin.sourceforge.net/
moq
http://code.google.com/p/moq/
オプション:(勉強したほうがいい)
SpecFlow
http://specflow.org/
2010年8月16日月曜日
2010年8月11日水曜日
urlエンコード(javascript)
function button1_onclick() { text2.value = escape(text1.value); text2.value = encodeURI(text1.value); text2.value = encodeURIComponent(text1.value); } function button2_onclick() { text3.value = unescape(text2.value); text3.value = decodeURI(text2.value); text3.value = decodeURIComponent(text2.value); }
登録:
投稿 (Atom)