Repeater - 将按钮绑定到字段

时间:2012-04-22 21:25:40

标签: c# asp.net repeater

我正在通过转发器显示3个作业。每个作业都有一个JOB应用程序ID。在我的数据访问层中,您可以通过ID删除数据库中的作业。所以,在任何课程中我都可以打电话和删除一个条目。

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

我想为3个以上的工作生成一个按钮。

我想将此代码放在按钮中,而不是硬编码ID。

Trick是每个按钮都需要获取该作业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 />

1 个答案:

答案 0 :(得分:2)

如果我了解你要做什么,你可以尝试以下方法:

为您的转发器添加一个按钮,如下所示:

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

然后在您的repeater的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
       }
       }