2015年12月14日月曜日

”CustomValidator”について

こんにちわ、開発者のⅠです。

さて、今回はASP.NETの検証コントロールの一つである「CustomValidator」についてのお話です。
といってもそんな大したことではないですが……。
他の検証コントロールには、「RequiredFieldValidator」「RegularExpressionValidator」などがありますが、これらと「CustomValidator」には違いがあります。

それは、『ControlToValidate』プロパティが空でも良いという点です。

つまりは、検証対象の指定が必須ではなく、任意であるということです。

ソースコード側で、検証の対象やErrorMessageプロパティに適当なメッセージを設定することも可能です。

やはり、"Custom"という名は伊達じゃないといった所でしょうか。


それでは、今日はこの辺りで失礼します。

Google AJAX Feed APIとは

こんにちは山田です。

今年の東京は12月なのに24度を超える日がありました。
11年ぶりだそうです。
とても暖かくて半袖でも外出できそうです。

さて本題に入るのですが、
外部サイトが配信しているニュースを自分のサイト内で受けとって表示できないかと画策していたら、その方法の一つとして
統一された規格のRSSというものがあるとわかりました。

(一時期はRSSが人気だったようなのですが、
近年はサービス終了も目立っている印象ですね。)

今回はRSSについて調べて見ました。

■RSSとは
「Rich Site Summary(リッチ・サイト・サマリー)」の略で、主にWebサイトの更新情報を公開することを目的に使われています。 

一昔前では、各サイト(ブログとか)の更新情報を取得する手段は、直接サイトを開いて記事が追加されているか、人が操作して確認するしかありませんでした。
その改善方法として、生まれたものです。

■バージョン
  • RSS1.0
  • RSS2.0
  • Atom
1.0と2.0は違うものです。Atomは2.0をシンプルにしたイメージのものです。
バージョンの違いについて詳しくはこちら↓
http://d.hatena.ne.jp/akagami_ext/20081209/p3

■RSSフィードとRSSリーダーの違いについて
RSSには配信する側と、受け取る側で呼び名が違います。
まずフィードとは供給の意味があり、RSSを発信する立場にあります。
これをRSSフィードと呼びます。
一方、それを受け取る方をRSSリーダーと呼んでいます。

■RSSリーダーの作り方
ASPNET3.5 からは
System.ServiceModel.Syndicationというクラスライブラリが追加されているのでそれを使うと便利なのですが、
今回はGoogle AJAX Feed API
という便利なAPIを見つけたので、これを使ってみたいと思います。

■Google AJAX Feed API(グーグルリファレンス)
このページに乗っているサンプルコードを参考に作ってみると、
リーダーが使えるようになりました。
https://developers.google.com/feed/v1/devguide?hl=ja


参考文献:私も試してみた
http://mypacecreator.net/blog/archives/960

2015年12月10日木曜日

任意のURLの文字列を作るためには?

こんにちは山田です。

本日は任意のURLの文字列を作成する方法です。
そもそもの経緯としては、改ページをする時に、現在のURLをそのまま引き継ぎつつ新しいURLとしてページ番号入りのものをつくるために使いました。
開発言語:C#

public static void Main() 
{
 string _param = "";//何か引数があれば"&"ごとに代入
 string url = CreateLink(1,100, _param != "" ? "?" + _param : "");
 Console.WriteLine(result);
}
public string CreateLink(int _caseID, int _ID, params object[] _args)
{
 string result = "";
 if(_args != null && _args.Length > 0)
 {
  switch (_ID)
  {
   case 1:
    // 0:ID 1:queryparam
    result = string.Format("/zoo/{0}/index.aspx", Utility.NullToString(_args[0]).PadLeft(4, '0'));
    if (_args.Length >= 2)
    {
     result = string.Format("/zoo/{0}/index.aspx?{1}", Utility.NullToString(_args[0]).PadLeft(4, '0'), Utility.NullToString(_args[1]));
    }
    break;
   case 2:
    //他のこと
    break;
   default:
    break;
    
   }
  }
  return result;
 }
}
 
この場合出力は 
/zoo/0100/index.aspx
となります。 
もし別途パラメータを付けたい場合も
/zoo/0100/index.aspx?page=1&area=1
と使うことが出来ます。 

2015年12月9日水曜日

クライアントからリクエストされたURLを取得する方法

 こんにちは山田です。
開発環境:ASP.NET2.0
開発言語:C#

リライトをかけたページの改ページと並び替えをしようと思っていた時に、
仮想URLを取得したい場面がありました。

クラスライブラリを探したり、ネットを探したら
綺麗にまとめているページがあったので参考にさせていただきました。

プロパティ 種類 物理/仮想 クエリ情報 追加パス
ApplicationPath アプリケーションパス 仮想 × ×
PhysicalApplicationPath アプリケーションパス 物理 ×
CurrentExecutionFilePath ファイルパス 仮想 × ×
FilePath ファイルパス 仮想 × ×
Path ファイルパス 仮想 ×
PhysicalPath ファイルパス 物理
RawUrl ファイルパス 仮想
Url ファイルパス 仮想(フルURL)
PathInfo 追加パス 仮想 ×
 @IT[ASP.NET]クライアントからリクエストされたURLを取得するには?

 このRawUrlを使って解決しました。
他にもプロパティがあるので試してみようと思います。

2015年12月8日火曜日

OGP設定とは

こんにちは!Sです

今日はOGP設定について・・・

▼OGP(Open Graph Protocol )とは
facebookなどのSNSとウェブページを連結するために設定する記事情報です。

この設定をすると何が違うのかというと、
例えばAさんがfacebookで「いいね!」をした場合にこの設定がされた記事では
Aさんの友達のニュースフィードにも指定されたURL、TDK、サムネイル画像が表示されます。
逆に言えば、この設定をしておかないとニュースフィードに反映されないため
あまり多くの人の目に触れる機会がなかなかありません。。。

▼設定方法
設定は簡単で下記のようなmetaタグをhead内に記述するだけです

<meta property="og:title" content="タイトル"/>
<meta property="og:type" content="blog"/>
<meta property="og:url" content="http://~"/>
<meta property="og:image" content="http://~"/>
<meta property="og:site_name" content="サイト名"/>
<meta property="og:description" content="ディスクリプション"/>