#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