2011-02-08 12 views
2

やあみんな、 から、HTMLテーブルのループ内のチェックボックスへのアクセス私はasp.netについての質問がありの背後にあるコード(.NET)

私は、各行のチェックボックスで、このテーブルを持っている:

http://i.stack.imgur.com/9QBLf.png

ASPXページ内のテーブルコード:

http://i.stack.imgur.com/dLbP1.png

だから私はimplemにしようとしています選択されたボタンを削除します。 すべての3が同じ名前のchkSelectedを持っている場合、コードビハインドから特定の行の特定のチェックボックスをどのくらい指していますか? 私はgridviewを使ってそれを行う方法を知っていますが、forループを使ってどうすればよいかわかりません。

btnDelete_Clickの中でこれを行うことはできますか?

foreach (Control control in Controls) 
    { 
     try 
     { 
      CheckBox chkCurrent = (CheckBox)control; 
      if (chkCurrent.Checked) 
      { 
       Partners partner = new Partners(chkCurrent.ID); <- reference id here 
       partner.Delete(); 
      } 
     } 
     catch { } 
    } 

ありがとうございます!

+0

HTML隠しフィールドを追加し、その値を探しているIDに設定できます。しかし、IMHOでは、ASPの古典的なアプローチとコード.Netスタイル(目に見えないレイヤーとデータレイヤーを混ぜることなく、少なくともコードの後ろ)をあきらめるべきです。 – Dies

+0

あなたはそうです。私は非常に単純なページ以来、この方法でクリーナーを考えたと思います。しかし、それは私の人生をもっと難しくしていることが判明しました。なぜなら、ページングも手作業でコードする必要があるからです。うーん、もしこのページを書き直すなら、最良の方法は? Gridview、DataList、Repeaterまたは? – fizyboy

答えて

0

WebForms ASP.Netはちょっと古いですが、私はちょうどそれをbrute-forceにし、ASP.Netのコントロールレイヤーを邪魔することをお勧めします。次に、あなたの分離コードでは、各チェックボックスの存在を要求コレクションを検査

<input type="checkbox" name="select_press<%= i %>" ... 

:thusly一意の名前で、各チェックボックスをレンダリングします。

+0

汚いですが、汗をかくことなく魅力的に機能します。私たちがそれを行うことができたのは分かりませんでしたありがとう! – fizyboy

関連する問題