Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将值绑定到hiddenfield_C#_Asp.net - Fatal编程技术网

C# 将值绑定到hiddenfield

C# 将值绑定到hiddenfield,c#,asp.net,C#,Asp.net,需要将JobApplyUID绑定到cs页面中的hiddenfield。。。请帮助我…您需要将隐藏字段放在模板字段中,否则它将不会被数据绑定,因为网格视图,详细视图等无法访问它 从此改变 <asp:HiddenField ID="hidapplyuid" runat="server" EnableViewState="true" /> <asp:TemplateField Visible="false">

需要将JobApplyUID绑定到cs页面中的hiddenfield。。。请帮助我…

您需要将
隐藏字段
放在
模板字段
中,否则它将不会被数据绑定,因为
网格视图
详细视图
等无法访问它

从此改变

 <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>   

从gridview评估控件非常简单,请尝试以下演示。在项目中添加新的测试页。让我们拥有如下所示的ASPX页面

<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>   

如果您尝试此操作,您可以从gridview中的任何控件获取值。

错误先生,是什么?
值=''
?无错误,label id获取值,hiddenfield需要获取该值先生,如果我将其移动到网格,我可以访问网格以外的值。。。我需要将该值用于其他目的…@kirk如何通过JavaScript获取隐藏字段的值?您可以利用
ClientID
或使用
clientMode
,查看
<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>   
<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;
}