2016-05-29 18 views
0

私の問題は以前あなたに聞かれましたが、私はそれを動作させることはできません。私はあなたの助けが必要だと思います。ASP.NET:ClientIdでListViewのコントロールをコードの後ろに見つけよう

<asp:ListView runat="server" ID="listvsl"> 
    <ItemTemplate> 
     <td> 
      <img style="width: 100%; height: 150px;" src="<%#Eval("resim") %>" /><br /> 
      <asp:Button ID="in" runat="server" Text="Sol" ClientIDMode="Inherit" OnClick="haraket" Style="width: 75px;" /> 
      <asp:Button ID="cik" OnClick="haraket" runat="server" Text="Sağ" Style="width: 75px;" /><br /> 
      <asp:Button ID="Button10" runat="server" Text="Sil" OnClick="sil_Clickice" Style="width: 150px;" /><br /> 
      <asp:TextBox ID="aciklax" runat="server" TextMode="MultiLine" ClientIDMode="Inherit" /><br /> 
      <asp:Button ID="Button12" runat="server" Text="Güncelle" ClientIDMode="Inherit" OnClick="yazignc" /> 
     </td> 
    </ItemTemplate> 
</asp:ListView> 

私はこれがClientIdのを見つけるために私の方法である "Button12"

Button bu = (Button)sender;//Button12's onclick event 
string[] falanca = bu.ClientID.ToString().Split('_'); 
string alcez = falanca[0] + "_" + falanca[1] + "_" + "aciklax" + "_" + falanca[3]; 

をクリックしたときにFindControlとaciklaxのTextBoxを取得する必要があります。私はClientIdを取得しますが、TextBoxコントロールを取得することはできません。手伝って頂けますか ?

+0

質問をするときにコードとマークアップを正しくフォーマットするように注意してください。あなたがしたことと達成しようとしていることを理解するのに役立ちます。 – ConnorsFan

答えて

0

幸いにも、TextBoxコントロールを見つけるためにClientIDを解析する必要はありません。ボタンのNamingContainerプロパティを使用して、対応するListView項目を見つけることができます。次に、ItemTemplateで指定された元のIDを使用して、アイテム内のTextBoxを見つけることができます。

Button btn = sender as Button; 
ListViewItem item = btn.NamingContainer as ListViewItem; 
TextBox txt = item.FindControl("aciklax") as TextBox; 
+0

これは本当に魔法の解決策です、ありがとうございます、しかし、私は本当に英語の部分を理解していない私は英語が低いです、あなたは私にそれを簡単な言語に説明することができますか? –

+0

ようこそ。私の最善の説明はコードです。つまり、ボタンからアイテムを取得し、アイテムからTextBoxを取得できます。 – ConnorsFan

+0

私はこの方法が本当にありがとう、私はもう一つの事が必要なのか分からない "aciklax"の値をどのように表示することができますか? –

関連する問題