숨겨진 값을 사용하여 LINQ에서 뮬리 레코드에 대한 삭제/편집 버튼을 만듭니다.
-
18-09-2019 - |
문제
ASPX 양식 :
<asp:Table ID="viewV" runat="server">
<asp:TableRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableRow>
</asp:Table>
아래 코드 :
vRepository getV = new vRepository();
var viewAllV = getV.GetV();
foreach (tblV singleV in viewAllV)
{
TableRow tr = new TableRow();
// Create four new cells for each row within the database
TableCell vName = new TableCell();
TableCell vType = new TableCell();
// Attached values to each of these cells
vName.Text = singleV.vName;
vType.Text = singleV.tblVType.vName;
// Add the cells to the table
tr.Cells.Add(vName);
tr.Cells.Add(vType);
// Add the row to the table
viewV.Rows.Add(tr);
}
나는 현재 LINQ를 사용하여 ASP : 테이블을 채우고 있습니다. 이것은 잘 작동합니다.
public IQueryable<tblV> GetV()
{
return (from getAllV in dc.tblV
where getAllV.deleted != 1
orderby getAllV.vName
select getAllV).DefaultIfEmpty();
}
GridView/ListView/DetailSView를 시도했지만 GETV에 액세스 할 수없는 것 같습니다. 실제 테이블에만 액세스 할 수 있습니다.
모든 행의 끝에 편집/삭제 버튼을 추가하여 사용자가 편집/삭제하려는 행을 선택할 수 있도록합니다.
사용자가 편집/삭제 버튼을 선택한 후에는 다른보기 (편집 용, 추가 용 ADS -ASPX 파일 내)에 액세스해야합니다.
예를 들어:
Name Type
Example 1 Type 1 Edit Button Delete Button
Example 2 Type 1 Edit Button Delete Button
'예제 1'의 편집 버튼을 선택할 수 있기를 원합니다. 그러면 이것은 :
- 나를 '편집보기'로 데려가
- 올바른 정보로 두 텍스트 필드를 자동으로 채우고
- 고유 ID (PK)를 사용하여 새 정보로 행 (데이터베이스 내)을 업데이트하십시오.
어떻게 해당 행의 고유 ID를 보유하는 여러 편집/삭제 버튼을 생성 했습니까?
나는 그것이 다음과 같은 것이라고 생각했다 :
TableCell vEdit = new TableCell();
vEdit.Button = singleV.vID;
tr.Cells.Add(vEdit);
해결책
실제로 "하드 코드"를 원한다면 ASP.NET MVC를 사용하십시오. 그렇지 않으면 실제로 일종의 데이터 라운드 컨트롤을 사용해야합니다.
즉,이 접근법을 주장하면 다음과 같은 일을 할 수 있습니다.
Button editButton = new Button();
editButton.Text = "Edit";
editButton.CommandArgument = singleV.vID.ToString();
editButton.CommandName = "Edit";
editButton.OnCommand += new CommandEventHandler(EditButton_Command);
TableCell vEdit = new TableCell();
vEdit.Controls.Add(editButton);
tr.Cells.Add(vEdit);
그런 다음 이벤트 핸들러에서 CommandeventArgs 인수를 검색하고 그에 따라 견해를 변경할 수 있습니다.
제휴하지 않습니다 StackOverflow