忍者ブログ

技術メモ

Home > ブログ > ASP

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

◆GridViewソート設定サンプル

※このソースは未完成、グリッドにリンクボタンを設定してもイベントの
 タイミングによってクリックイベントがハンドルされない
※手動ソート設定のもう一つのやり方は、GridViewのSortedプロパティをTrueに
 設定して、HeaderText、SortExpressionを設定(デザイナ・プログラムでも良い)し、
 GridView_Sortingイベント中にソートさせる方法がある

//ヘッダー設定
string headtxt = Consts.GridInfo[i][(int)Consts.GridInfoIdx.HeadText].ToString();
if (string.IsNullOrEmpty(headtxt))
{
    LinkButton lnkHead = new LinkButton();
    lnkHead.Text = headtxt;
    lnkHead.CommandArgument = Consts.GridInfo[i][(int)Consts.GridInfoIdx.HeadSortKey].ToString();
    lnkHead.Click += new EventHandler(lnkHead_Click);
    grdHotelList.HeaderRow.Cells[i].Controls.Add(lnkHead);
}
//ヘッダークリック
protected void lnkHead_Click(object sender, EventArgs e)
{
    DataTable dt = (DataTable)grdHotelList.DataSource;
    DataView dv = dt.DefaultView;
    dv.Sort = ((LinkButton)sender).CommandArgument;
    grdHotelList.DataSource = dv.ToTable();
    grdHotelList.DataBind();
}
 

PR

◆プロファイルの設定

[プロファイルの呼出]
ASP.NET 2.0ではユーザー固有の情報(プロファイル)を管理するための
「プロファイル」機能が導入された

ユーザーごとに異なるテーマを適用し、
パーソナライズされたページを見せたりといった機能も簡単に実現
※匿名ユーザの場合は、[匿名ユーザの設定]が必要になります

1. プロファイル・プロパティを定義する
Web.config上に定義
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <profile enabled="true">
      <properties>
        <add name="param" type="String" allowAnonymous="true" defaultValue="" readOnly="false"/>
      </properties>
    </profile>
  </system.web>
</configuration>

2.値の取得・設定
 string aaa = Profile.param;
 Profile.param = "bbb";

※実際にプロファイルがデータベースに保存されている様子を自分の目で確認したければ、
仮想ディレクトリ直下の「App_Data」フォルダから「ASPNETDB.mdf」を開いてみよう。
aspnet_Profileテーブルを開くと、以下のようにユーザーごとのプロファイル情報が
データベースに保存されていることが確認できるはずだ。


[匿名ユーザの設定]
1. 匿名ユーザーの識別を有効にする
匿名ユーザーの識別機能(匿名識別)を有効化
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <anonymousIdentification enabled="true" />
    ……中略……
  </system.web>
</configuration>

2.プロファイルを削除する
匿名ユーザはCookieで紐付けられる為、クライアント側でCookieを削除すると
プロファイルとの関連付けがなくなってしまいゴミとして残ってしまう
このゴミプロファイルは以下のコマンドで定期的に掃除する

SqlProfileProvider provider =
  (SqlProfileProvider)Profile.Providers["AspNetSqlProfileProvider"];
provider.DeleteInactiveProfiles(
  ProfileAuthenticationOption.Anonymous, DateTime.Now.AddMonths(-3));

http://www.atmarkit.co.jp/fdotnet/dotnettips/483aspprofile1/aspprofile1.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/486aspprofile2/aspprofile2.html

 


ASPの複数バージョン

ASP.NETで複数のバージョンを実行させたい場合は、工夫が必要になる
アプリケーションプールを分ければ解決

因みに、出力されるエラーは以下のとおり
同じ IIS プロセスで、異なる 2 つのバージョンの ASP.NET を実行することはできません。サーバーを再構成して、異なるプロセスでアプリケーションを実行するには、IIS 管理ツールを使用します。

以下のURLも参考
http://natchan-develop.seesaa.net/article/108342837.html

PAGE TOP