動的に作成されたGridview内で動的Webコントロールを使用する際に問題があります。 Webページにコントロールを追加するためのプラグインアーキテクチャを作成しようとしているので、コードビューでGridviewを作成する必要があります。問題を再現するためのコードの例を次に示します。動的GridViewsでButtonFieldsを使用する方法
ResultControl:WebBrowserコントロールその後
protected override void OnInit(EventArgs e)
{
GridView gv = new GridView();
ButtonField f = new ButtonField();
f.Text = "test";
f.CommandName = "test";
gv.Columnds.Add(f);
Controls.Add(gv);
}
DLL
のコードでWebフォームの背後にあります。 タイプのページ コントロール「POPlugin_ResultControl_ctl00」にprotected override void OnInit(EventArgs e)
{
ResultControl rc = new ResultControl();
Controls.Add(rc);
}
このエラーは、「GridViewの」にrunat =サーバーとフォームタグの内側に配置されなければなりません。
私は答えを探していますが、私が見つけた唯一の事は、ファイルをExcelViewにエクスポートして、それが完全に関連しているかどうかわかりませんでした。おそらく私のGoogleのフーは弱いですが、私はこの状況でいくつかの光を放つ誰にも感謝します。
前回の記事で私が思ったほど具体的ではなかったので、私が指定したテストコードがプラグインコードで実行されたために適用されると思いました。私は、私が作成したオーバーロードされたwebcontrolを含むdllを持っています。上記のコントロールのOnInitでは、私は上記のコードと全く同じですが、それらを動的に追加するページを表示すると、DLLのWebコントロールを追加すると、このようなエラーが発生します。 コントロール 'GridView'タイプの 'POPlugin_ResultControl_ctl00'は、runat = serverのフォームタグ内に配置する必要があります。 これは私がなぜ持っているのかわからない実際の問題です。 –
コントロールをフォームタグに配置すると、エラーはなくなります。 –
aspxページの特定のコントロールに追加していると思ったのでフォームタグに追加していませんでしたが、私はMasterコントロールページのContentHolderではなくページコントロールコレクションに追加していました。私が3日間のように躊躇している愚かなエラー。助けてくれてありがとう! –