2011-07-21 14 views
0

私のプログラムには、ハイパーリンクを含むリピータがあります。私のハイパーリンクコントロールはサポートされていません。リピータのアクセスハイパーリンクの制御i c#.net

<asp:HyperLink ID="HyperLink15" runat="server" NavigateUrl="abc.aspx"> 

有効セット= falseを

ので、私は、ハイパーリンクが唯一のユーザーAとBのために有効に...ので、私はコードを使用している

HyperLink a = (HyperLink)Repeater1.FindControl("HyperLink15"); 

を使用します。

if (a && b) 
{ 
    HyperLink link = (HyperLink)Repeater1.FindControl("HyperLink15"); 
    link.Enabled=true; 
    link.Navigateurl="efg.aspx"; 
} 

次のエラーが発生します。

System.NullReferenceException: Object reference not set to an instance of an object.

+0

あなたの質問を構成しようとしている間は、おそらく提案があります。あなたがリンクを検索した場合、あなたのような多くの質問があります。私はこれが完全なヘルプのかもしれないかどうかわかりませんが、ここに1つの同様の投稿へのリンクがあります:http://stackoverflow.com/questions/911240/find-a-control-inside-asprepeater。このページを少し下にスクロールすると、関連する質問というセクションが見つかります。見てみましょう。 – deostroll

答えて

2
HyperLink a = (HyperLink)Repeater1.Items[0].FindControl("HyperLink15"); 

上記の使用、およびアイテムにはインデックスが含まれます。条件以下

それとも

for (int count = 0; count < Repeater1.Items.Count; count++) 
     { 
      HyperLink a = (HyperLink)Repeater1.Items[count].FindControl("HyperLink15"); 
     } 
+0

ありがとうsaurabh ...その作業... – Roshan

2

Repeater onItemDataBound Event最初のチェック。

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
{ 
// find controls here 
} 
関連する問題