2015年10月7日水曜日

Registerでのカスタムコントロールの関連付けを、Web.configにまとめる

こんにちはYです。
ややこしいタイトルを付けてしまいました。

Webページを作成していて、ユーザーコントロール(.ascxファイル)を作成し、
目的のページに関連付けて使用できるようにすることってよくありますよね?

その時はAspxファイルの上部に↓のように書くと思います。
■ASP.NET ページでユーザコントロールを参照する方法
<%@ Register TagPrefix="includes" TagName="BenriControl" Src="~/control/BenriControl.ascx" %>


これをすべてのページの範囲で使用できるようにするのが今回の目的です。
■web.config ファイルでユーザコントロールを参照する方法
Web.configファイルの
<pages>
 <controls>
  ~
 </controls>
</pages>

上の「~」の位置に
<add tagprefix="includes" tagName="BenriControl" src="~/control/BenriControl.ascx" />
を追加します。

すると、Web.configを読み込んだ段階でコントロールの関連付けが完了するのです。

2015年10月6日火曜日

指定の文字数を取得する


こんにちはYです。
SEO対策をしていて、ちょっと文字が多いな、、、と感じた箇所にぶつかりました。
データもとの文章を変更せずに、先頭の~文字で切って妥協することにしました。
その時の対処方法です。

String.Substring メソッドを使用しました。

String nagaiMoji = "Hello World!"
String moji = nagaiMoji.Substring(1, 6);

上記の場合の出力は「ello W」となります。

これを使用して、String moji = nagaiMoji.Substring(0, 99);
100文字分を取得するようにと書くことができました。

2015年10月5日月曜日

Facebookのシェアで違う画像が表示されるときにキャッシュクリアする方法

こんにちわYです。

Facebookのシェアボタンで目的と違うサムネイルが表示される問題があったので調べてみました。

元々間違っていた箇所としては「og:image」に指定する画像が間違っており、修正しました。
ですが、それだけではダメみたいで
FBの方でキャッシュが残っていたことがわかりました。


キャッシュのクリア方法としては、
https://developers.facebook.com/tools/debug/
上のURLを開き、シェアしたいページのURLを入力し「Debug」ボタンを押す。
すると、
When and how we last scraped the URL欄に
最後にキャッシュした日時が表示されるようになります。
キャッシュをクリアするためには、ページ上部の
「Fetch new scrape information」のボタンを押すとクリアされます。

2015年10月2日金曜日

ファイルアップロードで苦戦したところ(4MB)

こんにちわYです。
本日は、ASP.NET 2.0 のファイルアップロードで苦労したところになります。
どういうわけか、ファイルサイズが4MB超えるとエラーになってしまうというものです。

System.Web.HttpUnhandledException。種類 'System.Web.HttpUnhandledException' の例外がスローされました。~

こんな感じ

調べてみたらサーバーコントロールのFileUploadを使用したときの上限値は4,096kbになっていたということがわかりました。このPOSTされるアップロードの上限を変更するには、
Web.configのhttpRuntime要素のmaxrequestlength属性に追加すればいいみたいです。
ちなみにデフォルトの上限値は4,096kbで、これを5,120kbへ変更する方法です。

↓↓

<configuration>
    <system.web>
        <httpRuntime maxrequestlength="5120">
    </system.web>
</configuration>

2015年10月1日木曜日

iPhoneのホーム画面にショートカットアイコンを設置する方法

こんにちはYです。気づけばもう10月ですね。
本日はiPhoneのホーム画面に指定のショートカットアイコンを設置させる方法です。

具体的に言いますと、
気に入ったWebページをホーム画面上のアイコンとして表示させて
すぐページを開けるようにするためのものです。

正式名称は「apple-touch-icon」といいます。
一応公式の設定方法です。
Configuring Web Applications

う~んよくわからん。


ということでわかりやすくまとめます。


■画像ファイルの用意

拡張子は.pngで正方形にしてください。
そして、画像のサイズですが、これがちょっと曲者で
faviconのように決まったものはなく、OSやブラウザによって最適なサイズが違うため、57*57pxから152*152pxくらいです。
もし厳密に行いたい場合は、
sizes="152x152"
sizes="144x144"
sizes="120x120"
sizes="114x114"
sizes="76x76"
sizes="72x72"
このようにそれぞれの端末の最適な画像サイズを指定してあげる必要があります。
今回はあまり気にせず、152x152で用意します。

apple-touch-icon-precomposed.pngとは?
アイコン画像はそのままでは、機種によっては影がついたり、ハイライトがついたりがと自動で表示されてしまいます。

これを防ぎたい場合は、画像名の後ろに「precomposed」をつけることで回避することができます。
今回は使いません。


■ファイルの配置の仕方

アプリケーションルートに置けば完了です!

もし場所を変えたい場合は

<link rel="apple-touch-icon" href="~/apple-touch-icon.png">

と指定する必要があります。

この手順で完了です。お試しあれ。