2014-11-10 2 views
0

내가 ASP.Net 응용 프로그램에서 나는 다음과 같이 TemplateField 한 그 내부 그리드보기가 있습니다변경 TemplateField 값 동적으로 서버 측

<Columns> 
     <asp:TemplateField HeaderText="Test Text" SortExpression="MyField"> 
      <ItemTemplate> 
       <%# Eval("MyField")%> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 

가 어떻게 <%# Eval("MyField")%> 서버 측에 접근하고 값의 변경을? 예를 들어 <%# Eval("MyField")%>의 값이 "OK"이고 "Not OK"서버 측을 동적으로 변경하려고한다고 가정합니다. 또한 은 TemplateField 안에 서버 측 컨트롤을 사용하고 싶지 않습니다. 이것은 내가 어떻게 뭘하려하지만! :

 If e.Row.RowType = DataControlRowType.DataRow Then 
       For i As Integer = 0 To e.Row.Cells.Count - 1 
        If Not String.IsNullOrEmpty(e.Row.Cells(i).Text) Then 
         e.Row.Cells(i).Text = "Not OK" 
        End If 
       Next 
     End If 
+0

나는 대답을 시도했다. –

답변

0

이 시도 작동하지 않습니다

템플릿

추가 라벨 당신

<Columns> 
     <asp:TemplateField HeaderText="Test Text" SortExpression="MyField"> 
      <ItemTemplate> 
       <asp:Label id="mylabl" runat="server" 
       Text='<%# Eval("MyField")%>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 

서버 측 쉬울 것이다

If e.Row.RowType = DataControlRowType.DataRow Then 
       For i As Integer = 0 To e.Row.Cells.Count - 1 
Dim mylabl As String = _ 
       CType(e.Row.FindControl("mylabl"),Label).Text 

        If Not String.IsNullOrEmpty(mylabl) Then 
         mylabl.Text = "Not OK" 

        End If 
       Next 
     End If 
+0

TemplateField에서 서버 측 컨트롤을 사용하고 싶지 않습니다. 이것은 사용자가 서버 측 컨트롤을 사용하지 않고 Eval을 사용할 수있는 사용자 정의 컨트롤입니다. –