0

さまざまなプロファイル (名前、パスワード、説明、日付などの属性を持つ) を表示する asp.net gridview コントロールにリストをバインドしています。

問題は、誰でもページにアクセスしてすべてのプロファイルを表示できることですが、プロファイルの「パスワード」を誰も表示したくない場合は、コードが必要になる場合があります。

配列 k1 = yourlist1.ToArray();

    business.clsprofiles obj = new business.clsprofiles();
    List<business.clsprofilesprp> objprp = new List<business.clsprofilesprp>();
    for (Int32 i = 0; i < k1.Length; i++)
    {
        Int32 z = Convert.ToInt32(k1.GetValue(i));
        objprp.AddRange(obj.fnd_profiles(z));
    }
    GridView2.DataSource = objprp;
    GridView2.DataBind();
    con.Close();
4

1 に答える 1

0

おそらく、gridview 列を非表示にする必要があるだけです。

GridView2.Columns[0].Visible = false;

... 0 を列のインデックスに置き換えます。ただし、これは問題を処理するためのかなり無計画な方法です。基礎となるクラスを変更すると、パスワード列が公開される可能性があるためです。より良いアプローチには、次のことが必要です。

  1. パスワードをプレーンテキストでまったく保存しません。
  2. パスワードが必要ない場合は、最初からパスワードをビジネス オブジェクトに取り込まないでください。
  3. 基礎となるビジネス オブジェクト クラスを継承し、パスワード列へのアクセスを変更します。
  4. AutoGenerateColumns を使用するのではなく、列を手動で指定する
于 2011-02-02T14:24:25.730 に答える