Найдите значение индекса повторителя, чтобы открыть новую веб-форму и прочитать данные из SQL

#c# #asp.net #twitter-bootstrap #repeater

#c# #asp.net #twitter-bootstrap #повторитель

Вопрос:

Как мне передать значение ID, связанное со строкой repeater, чтобы открыть значения в новой веб-форме с текстовыми полями, которые затем можно редактировать и обновлять в repeater (хранимая процедура SQL). Я новичок в повторителях, и мне удалось сделать это с помощью GridView, но я не уверен, как это сделать с помощью повторителя.

Что я сделал с GridView c #, который отлично работал в Default.aspx.cs:

 if (dgvEmployees.SelectedIndex != -1)
{
    indexId = dgvEmployees.SelectedRow.Cells[1].Text;
    Response.Redirect("About.aspx?amp;Id="   indexId);
}
  

Что получено в About.aspx.cs

 protected void Page_Load(object sender, EventArgs e)
{
    if(!String.IsNullOrEmpty(Request.QueryString["Id"]))
    {
       idNum = Convert.ToInt32(Request.QueryString["Id"]);
       if(!IsPostBack)
       {
           FillEmployeeData();
       }
     }
 }
  

Это код повторителя:

 <asp:Repeater ID="rptList" runat="server" OnItemDataBound="rptList_ItemDataBound" Visible="true">
            <HeaderTemplate>

                <table class="table table-bordered" id="VersionsTable">
                    <tr>
                        <th>Actions
                        </th>
                        <th>Employee Number
                        </th>
                         <th>ID Number
                        </th>
                         <th>Employee Name
                        </th>
                         <th>Employee Surname
                        </th>
                         <th>Number of Dependants
                        </th>
                         <th>Race
                        </th>
                        <th>Gender
                        </th>
                        <th>Delete
                        </th>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tbody>
                    <tr style="cursor:pointer" onmouseover="style.backgroundColor='#E6E6E6'" onmouseout="style.backgroundColor=''" onclick="style.backgroundColor='#727A91'">
                        <asp:HiddenField ID="hIDfield" runat="server" Value='<%#Eval("Id")%>' />
                        <td>
                            <asp:button runat="server" OnClick="btnEdit_Click" CssClass="btn btn-default" Text="Edit"/> 

                        </td>
                        <td onclick="PopupEdit('<%# Eval("EmployeeNumber") %>')">
                            <%# Eval("EmployeeNumber") %>
                        </td>
                        <td>
                            <%# Eval("IDNumber") %>
                        </td>
                        <td>
                            <%# Eval("employeeName") %>
                        </td>
                        <td>
                            <%# Eval("employeeSurname") %>
                        </td>
                        <td>
                            <%# Eval("numberOfDependants") %>
                        </td>
                        <td>
                            <%# Eval("RaceId") %>
                        </td>
                        <td>
                            <%# Eval("GenderId") %>
                        </td>
                        <td style="text-align:center">
                            <asp:CheckBox ID="chkDelete" CssClass="form-control" runat="server" />
                        </td>
                    </tr>
                </tbody>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
  

Спасибо за вашу помощь!

Комментарии:

1. Если единственное, что вы делаете, это an Response.Redirect , почему бы просто не использовать обычную ссылку?

2. Я не уверен, что вы подразумеваете под обычной ссылкой, но мне нужно передать идентификатор в About.aspx, чтобы элементы управления формой извлекали данные из этой записи из SQL DB @VDWWD

3. Я имею в виду <a href="/About.aspx?Id=<%# Eval("EmployeeNumber") %>">Link</a>

4. Спасибо, что сработало! Но мне все еще нужно значение ID для удаления строк, отмеченных флажком. Но вы помогли решить мою непосредственную проблему @VDWWD