은 내가 과거에했던 것은 사용 데이터 바인딩의 GridView TemplateColumns입니다 :
<asp:GridView runat="server" ID="grdRoster" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="First Name">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtFirstName" Columns="10" Text='<%# Eval("RosterFirstName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Middle Name">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtMiddleName" Columns="10" Text='<%# Eval("RosterMiddleName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Last Name">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtLastName" Columns="10" Text='<%# Eval("RosterLastName") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
그런 다음, 다시 게시 (예를 들어, 버튼 클릭 "저장"), 당신이 할 수있는 행을 반복 GridView를 선택하고 텍스트 상자에서 값을 뽑습니다.
foreach (GridViewRow row in grdRoster.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
string firstName = ((TextBox) row.FindControl("txtRosterFirstName")).Text;
string middleName = ((TextBox) row.FindControl("txtRosterMiddleName")).Text;
string lastName = ((TextBox) row.FindControl("txtRosterLastName")).Text;
}
}
감사합니다. 그래서 GridView는 분명히 사용자가 사용하는 것입니다. 나는 단지 궁금했다. 나는 두 가지 모두를 사용했지만 두 솔루션 중 어느 것도 만족스럽지 못했습니다. –
나는 gridview 메소드를 좋아한다고 생각한다. 왜냐하면 당신은 필드에 대한 sane id를 주어야한다. "recid | field"hokey thing의 어떤 이상한 이름이 아니다. Findcontrol은 범위를 특정 행으로 제한하기 때문에이를 제거합니다. Matt 감사합니다. –