2012-04-22 9 views
0

リピータで3つのジョブを表示しています。各ジョブにはJOBアプリケーションIDがあります。私のデータアクセス層では、IDでデータベース内のジョブを削除することができます。だから、どんなクラスでも、私はエントリを呼び出して削除することができます。リピータ - ボタンをフィールドにバインドする

JobOpeningDAL app = new JobOpeningDAL(); 
app.RemoveJobOpening(64); 

私は3つ以上のジョブごとにボタンを生成したいと考えています。

私はこのコードをボタンに入れて、IDをハードコードしたくありません。

トリックはそれぞれのボタンがそのジョブIDを取得する必要があります。

これは可能ですか?

JOB IDのようなアイテムに基づいて、各リピータアイテムに異なるボタンをバインドする方法はありますか?こうすると、ユーザーがジョブの下の削除ボタンをクリックすると自動的に削除されます。私はあなたが次のことを試みることができるやろうとしているものを理解していればここで

は私のリピータコード

<br /> 
Job ID 
<%# DataBinder.Eval(Container.DataItem, "JOBAPPLICATIONID")%> 
<br /> 
Job Description: 
<%# DataBinder.Eval(Container.DataItem, "JobDescription") %> 
<br /> 
Wage: 
<%# DataBinder.Eval(Container.DataItem, "Wage") %> 
<br /> 
Department ID: 
    <%# DataBinder.Eval(Container.DataItem, "DepartmentID") %> 
<br /> 
Has been filled: 
<%# DataBinder.Eval(Container.DataItem, "HasBeenFilled") %> 
<br /> 
Location: 
    <%# DataBinder.Eval(Container.DataItem, "Location") %> 
<br /> 

Job Name:  
    <%# DataBinder.Eval(Container.DataItem, "JobName") %> 
<br /> 

答えて

2

です:

このようなあなたのリピーターにボタンを追加します。

<asp:Button ID="yourButton" runat="server" CommandName="delete" CommandArgument='<%# Eval("id")' /> 

次に、リピータのitemcommandハンドラで、次の操作を実行できます。

protected void YourRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
    { 
     if (e.CommandName == "delete") 
     { 
      object idToDelete = e.CommandArgument; 
      int ID = Convert.ToInt32(idToDelete); 
      //do stuff with the ID here 
     } 
     } 
+0

私はリピータ機能でブレークポイントを設定し、ブレークポイントは起動しません。 –

+0

リピーター全体を見せてもらえますか?あなたの質問に投稿した部分だけではありません。リピーターのitemコマンドが起動するためには、ハンドラーへの何らかの参照が必要です。 リピータには次のようなものがありますか? – Thousand

関連する問題