名前 'xxx' が現在のコンテキストに存在しない エラー解決方法の1つ
2022-02-17 15:04:10
ネストされた内側のasp:datalistまたは他のコントロールは、後ろのコードによって直接呼び出すことができません、それは今、外側のdatalistにイベントonitemdataboundイベントハンドラを追加する必要があります。 次のメソッドを使用します。
aspxファイルです。
<スパン
<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_DataBinding">
<ItemTemplate>
<asp:Label runat="server" ID="L" Text='<%#DataBinder.Eval(Container.DataItem,"id") %>'></ asp:Label>
<%#DataBinder.Eval(Container.DataItem,"name") %>
<br />
<asp:DataList runat="server" ID="DataList2">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"boardtype") %>
<br />
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
asxp.csファイルです。(イベントハンドラ関数にインナーDataListのデータボーンを追加する)
<スパン
protected void Page_Load(object sender, EventArgs e)
{
SQL sql = new SQL("select * from bigsorts");
SqlDataAdapter sda = sql.GetSqlDataAdapter();
DataSet ds = new DataSet();
sda.Fill(ds,"table1");
DataList1.DataSource = ds;
DataList1.DataBind();
sql.CloseConn();
Response.Write(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
}
protected void DataList1_DataBinding(object sender, DataListItemEventArgs e)
{
DataList dl = (DataList)e.Item.FindControl("DataList2");
Label l = (Label)e.Item.FindControl("L");
SQL sql = new SQL("select * from tblsorts where parentid=" + l.Text);
SqlDataAdapter sda = sql.GetSqlDataAdapter();
DataSet ds = new DataSet();
sda.Fill(ds, "table");
dl.DataSource = ds;
dl.DataBind();
}
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン