ネストしたリピーターに対してItemDataBoundイベントを設定したいとします。ItemDataBoundおよびObjectDataSource
このコードはItemDataBound EventHandlerに書きます。
if (e.Item.ItemType == ListItemType.AlternatingItem ||
e.Item.ItemType == ListItemType.Item)
{
Tour dataitem = (Tour)(e.Item.DataItem);
ObjectDataSource ObjectDataSource1 = (ObjectDataSource)e.Item.FindControl("ObjectDataSource1");
ObjectDataSource1.SelectParameters["Id"].DefaultValue = dataitem.TourId.ToString();
}
が、この行が
Tour dataitem = (Tour)(e.Item.DataItem);
が正しく動作するようだと、私の問題はここから: を私はこの例外を持っているラインの
Object reference not set to an instance of an object.
ObjectDataSource1.SelectParameters["Id"].DefaultValue = dataitem.TourId.ToString();
しかし、問題は、私はこの行が必要な理由を知っている必要があり、このラインで
ObjectDataSource ObjectDataSource1 = (ObjectDataSource)e.Item.FindControl("ObjectDataSource1");
です。
これを省略すると、正常に動作しますが、エラーはありません。 なぜ私のオブジェクトデータソースコントロールを知っているので、その必要はありますか?
この行についての説明と例外の修正方法が必要です。私はまだキャッチしようとしなかった。
私は、このコードは、この記事に従ってください:上記の行
https://msdn.microsoft.com/en-us/library/bb510144.aspx
_ "ObjectDataSource1" _はネストされたリピータの内部にネストされているか、それとも外部にありますか?フロントエンドのリピータと_ ObjectDataSource1を投稿できますか? – zgood
@zgood yesssssssss正確な問題でした。オブジェクトデータソースを入れ子にしていませんでした。今は入れ子にして正しく動作します。この質問に答えることは可能ですか?私はそれを受け入れてあなたに投票することができます。本当にありがとう。 –
私は他人を助けるための回答を投稿します。 – zgood