0

こんにちは、その日の挨拶.. DataTable を使用して任意の ListControl にデータをバインドする一般的な方法を書きたいと思い、以下のコードを書きました。しかし、コードを app_code フォルダーのクラスに配置してすべてのページにアクセスすると、実行できません。

最適化されたコーディング方法と、これらのメソッドを app_code クラスまたは BAL(クラス ライブラリ) のどこに記述するかを教えてください。

public void BindListControlWithDatatable(ListControl objListControl, DataTable dtDataTable, string dataTextField, string dataValueField, int displaySelect)
    {
        try
        {
            if (dtDataTable.Rows.Count > 0)
            {
                objListControl.Items.Clear();
                objListControl.DataSource = dtDataTable;
                objListControl.DataTextField = dataTextField;
                objListControl.DataValueField = dataValueField;
                objListControl.DataBind();
                if (displaySelect == 1)
                {
                    objListControl.Items.Insert(0, new ListItem("Select", "0"));
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
4

1 に答える 1

0

VS 2010 では、App_Codeフォルダーが作成されるたびに、次の変更が発生します。

1. myClass will have the namespace as "myNamespace.App_Code"
2. myClass properties --> Build Action --> Content (which will disable intellisense)

なぜそうなのかはわかりませんが、以下のことを行うことでそれらを解決していました。

1. Renaming "myNamespace.App_Code" to "myNamespace"
2. myClass properties --> Build Action --> Compile

上記のものに加えて、

メソッドのアクセス指定子をpublic共通コードにアクセスするように設定してみてください。(あなたがこれをしていないと仮定して)

于 2012-12-21T10:03:44.603 に答える