SQL 데이터 원본의 값을 ListView에 표시 할 수 없습니다.SQL 데이터 원본의 값을 ListView EmptyDataTemplate에 표시 할 수 없습니다.
아래의 코드를 사용하면 'equipment_attrib_value_id'에있는 값이 잘 표시되므로 (ahref 링크가 작동하므로) 'equipment_attrib_value_id'에있는 값이 표시되지 않습니다. 즉, 링크가 AddAttribValue를 가리키고 있음을 의미합니다. 영문? EquipmentID = & HeadingID =
(그래서 값 HeadingID 끝에 없음) 20
<asp:TemplateField HeaderText="modify" SortExpression="modify">
<ItemTemplate>
<asp:ListView ID="ListViewAttribModify" runat="server"
DataSourceID="SqlDataSourceAttribValues">
<ItemTemplate>
<tr style="">
<td style="font-size:x-small;">
<a href="EditAttribValue.aspx?ID=<%# Eval("equipment_attrib_value_id") %>">Edit</a>
</td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table ID="itemPlaceholderContainer" runat="server" border="0" style="">
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<EmptyDataTemplate>
<table id="Table2" style="">
<tr>
<td style="font-size:x-small;">
<a href="AddAttribValue.aspx?EquipmentID=<%=Request.QueryString("id") %>&HeadingID=<%# Eval("equipment_attrib_heading_id") %>">Add</a>
</td>
</tr>
</table>
</EmptyDataTemplate>
</asp:ListView>
</ItemTemplate>
</asp:TemplateField>
가 올바르게 자체를 표현하기 때문에 존재 'equipment_attrib_value_id'에 유지 된 값. 더 중요한 것은 동일한 가치를 사용하지 못하게하는 것입니다. 어떻게 해결합니까/해결해야합니까?
논리적으로는 의미가 있지만 목록에 표시되는 행의 값 ('equipment_attrib_value_id'값)을 알아야합니다. 내 맞춤 '추가'링크를 만들기 위해이 값을 검색하는 더 좋은 방법이 있습니까? – Rich
EmptyDataTemplate은 행이 전혀 없을 때만 표시된다는 문제가 있습니다. MSDN에서 "ListView 컨트롤이 레코드가없는 데이터 소스에 바인딩 될 때 렌더링되는 빈 템플릿의 사용자 정의 콘텐츠를 가져 오거나 설정합니다." 행을 추가하고 equipment_attrib_value_id가 테이블의 기본 키인 것으로 추측하면 행을 추가하려는 경우 값을 필요로하지 않는다고 생각됩니다. –
설명 Ben을 주셔서 감사합니다. 또한 필자는 방금 전에 작성한 코드의 오타를 강조했습니다. 'equipment_attrib_value_id'의 값은 실제로 기본 키이지만 (now-edited 코드에 따라) 'Equipment_attrib_heading_id'값이 포함 된 'AddAttribValue.aspx'링크를 만들어야합니다. 따라서 Add 페이지에서 할당 할 HeadingID를 알 수 있습니다. equipment_attrib_heading_id의 값은 더 이상 같은 SELECT 문에 포함되지만 equipment_attrib_value_id는 존재하지 않으므로 equipment_attrib_heading_id! 나는 거짓말이 필요하다고 생각해. – Rich