2014-08-27 3 views
1
скрытых
<asp:HiddenField ID="hidapplyuid" runat="server" EnableViewState="true" /> 

         <asp:TemplateField Visible="false"> 
          <ItemTemplate> 
           <asp:Label ID="UID" CssClass="" runat="server" Text='<%#Eval("candUID")%>'></asp:Label>  
           <asp:Label ID="JobApplyUID" CssClass="" runat ="server" Text='<%#Eval("jobApplyUID")%>'></asp:Label>       
          </ItemTemplate>        
         </asp:TemplateField> 

необходимости связывать JobApplyUID в скрытом в CS странице ... Пожалуйста, помогите мне ...связывающих значений для

+1

Ошибка сэр, что это такое? – Max

+0

'Value = '<% # Eval (" jobApplyUID ")%>''? – PoweredByOrange

+0

no error, label id получить значение, hiddenfield нужно получить эту оценку sir, – Kasirajan

ответ

1

Вы должны поместить HiddenField внутри TemplateField, иначе она не будет быть привязки данных с GridView, DetailsView и т.д., не может получить доступ к этому

Изменения от этого

<asp:HiddenField ID="hidapplyuid" runat="server" EnableViewState="true" /> 

<asp:TemplateField Visible="false"> 
    <ItemTemplate> 
     <asp:Label ID="UID" CssClass="" runat="server" Text='<%#Eval("candUID")%>'></asp:Label>  
     <asp:Label ID="JobApplyUID" CssClass="" runat ="server" Text='<%#Eval("jobApplyUID")%>'></asp:Label>       
    </ItemTemplate>        
</asp:TemplateField> 

Чтобы что-то вроде этого. Переместить его в TemplateField где-нибудь, например

<asp:TemplateField> 
    <ItemTemplate> 
     <%-- Move hidden variable inside of the template, else it cannot be databound --%> 
     <asp:HiddenField ID="hidapplyuid" runat="server" Value='<%#Eval("jobApplyUID")%>' /> 
    </ItemTemplate>        
</asp:TemplateField> 
<asp:TemplateField Visible="false"> 
    <ItemTemplate> 
     <asp:Label ID="UID" CssClass="" runat="server" Text='<%#Eval("candUID")%>'></asp:Label>  
     <asp:Label ID="JobApplyUID" CssClass="" runat ="server" Text='<%#Eval("jobApplyUID")%>'></asp:Label>       
    </ItemTemplate>        
</asp:TemplateField> 
+1

, если я переместил это в сетку, я могу получить доступ к значению, отличному от сетки ... Мне нужно использовать это значение для других целей. – Kasirajan

+0

@kirk Как я могу получить значение скрытого поля через JavaScript? – ArunPratap

+0

Вы можете использовать 'ClientID' или использовать' ClientIDMode', посмотрите Kirk

0

оценивающих управления из GridView очень легко попробовать это демо следующим образом. Добавьте новую тестовую страницу в свой проект. Позволяет иметь ASPX страницы, как показано ниже ...

<div> 
    Job Apply GUID : <asp:Label runat="server" ID="uxJobApplyUID"></asp:Label> 
    <asp:GridView ID="uxGrid" runat="server" AutoGenerateColumns="false"> 
     <Columns> 
      <asp:TemplateField HeaderText="JobApply UID"> 
       <ItemTemplate> 
        <asp:HiddenField ID="uxHiddenJobApplyUID" runat="server" Value='<%#Eval("jobApplyUID") %>' /> 
        <asp:Button ID="uxShowDetails" runat="server" Text="Show Data" OnClick="uxShowDetails_Click" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
</div> 

И код позади будет выглядеть следующим образом ...

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.Add("jobApplyUID", typeof(string)); 
     dt.Rows.Add(System.Guid.NewGuid().ToString()); 
     dt.Rows.Add(System.Guid.NewGuid().ToString()); 
     dt.Rows.Add(System.Guid.NewGuid().ToString()); 
     dt.Rows.Add(System.Guid.NewGuid().ToString()); 
     dt.Rows.Add(System.Guid.NewGuid().ToString()); 
     uxGrid.DataSource = dt; 
     uxGrid.DataBind(); 
    } 
} 
protected void uxShowDetails_Click(object sender, EventArgs e) 
{ 
    this.uxJobApplyUID.Text = (((sender as Button).NamingContainer as GridViewRow).FindControl("uxHiddenJobApplyUID") as HiddenField).Value; 
} 

Если вы попробуете это, вы можете получить значение из любого контроля, присутствующего в GridView.

+0

thnx .. правильная работа .. – Kasirajan

Смежные вопросы