2012-02-12 3 views
1

제목과 같은 정보 하나만 표시하는 격자가 있습니다. 다른 필드는 숨겨져 있습니다. 편집을 클릭하면 모달 팝업이 양식을 표시하고 편집을 위해 표에서 정보를 가져옵니다. 숨겨진 필드의 정보는 가져 오지 않습니다. 나는 표에 대한 공간 만 가지고 있기 때문에 표에 모든 정보를 표시하고 싶지 않습니다.격자의 숨겨진 필드가 편집 양식으로 가져 오지 않습니다.

어떻게하면됩니까? 감사. 당신이 중첩 된 컨트롤 TemplateFields를 사용하는 경우 Risho

<asp:GridView ID="gvForum" runat="server" DataSourceID="odsForumApproval" DataKeyNames="id" Width="200px" 
RepeatColumns="1" DataKeyField="id" CssClass="gridview" 
AutoGenerateColumns="False" GridLines="None" OnSelectedIndexChanged="_OnCommand"> 
<AlternatingRowStyle CssClass="altbgcolor" /> 
<Columns>        
    <asp:BoundField DataField="title" /> 

    <asp:TemplateField > 
     <ItemTemplate> 
      <asp:HiddenField runat="server" ID="hfId" Value='<%# Eval("id") %>' /> 
     </ItemTemplate>         
    </asp:TemplateField> 

    <asp:TemplateField > 
     <ItemTemplate> 
      <asp:HiddenField runat="server" ID="hfDesc" Value='<%# Eval("description") %>' /> 
     </ItemTemplate>         
    </asp:TemplateField> 

    <asp:TemplateField > 
     <ItemTemplate> 
      <asp:LinkButton ID="lnkbtn" Text="Approve" runat="server" onclick="lnkbtn_Click"/> 
     </ItemTemplate>         
    </asp:TemplateField> 
</Columns> 

protected void lnkbtn_Click(object sender, EventArgs e) 
{ 

    LinkButton btndetails = sender as LinkButton; 

    GridViewRow gvrow = (GridViewRow)btndetails.NamingContainer; 

    lblID.Value = gvrow.Cells[1].Text; 

    txtTitle.Text = gvrow.Cells[0].Text; 

    lblMessage.Text = gvrow.Cells[3].Text; 

    this.ModalPopupExtender1.Show(); 

} 

답변

1

세포 - 텍스트가 비어 있습니다. 컨트롤에 대한 참조를 가져와 적절한 속성 (예 : TextBox.Text 또는 HiddenField.Value)을 사용해야합니다. 당신이 GridViewRowFindControl을 사용할 수 있습니다 그에 :

var hfId = (HiddenField)gvrow.FindControl("hfId"); 
var hfDesc = (HiddenField)gvrow.FindControl("hfDesc"); 
txtTitle.Text = gvrow.Cells[0].Text; 
lblID.Value = hfId.Value; 
txtTitle.Text = hfdesc.Value; 
+0

덕분에 팀을, 나는 당신을 믿을 줄 알았어! :) – Risho

관련 문제