Jquery 为什么HiddenField值在回发时保持不变,而其他控件则会丢失其内容?

Jquery 为什么HiddenField值在回发时保持不变,而其他控件则会丢失其内容?,jquery,asp.net,Jquery,Asp.net,我有一个GridView,它有一个页脚行,我使用标签显示每列的总计 我正在JQuery中访问GridView,使用JQuery成功计算出总数,并显示在GridView每列的FooterRow中 <asp:TemplateField HeaderText="Age"> <ItemTemplate> <asp:Label ID="lblAge" Text='<%# Eval("Age"

我有一个
GridView
,它有一个页脚行,我使用标签显示每列的总计

我正在JQuery中访问
GridView
,使用JQuery成功计算出总数,并显示在GridView每列的
FooterRow

 <asp:TemplateField HeaderText="Age">
    <ItemTemplate>
      <asp:Label ID="lblAge" Text='<%# Eval("Age") %>' runat="server"></asp:Label>
    </ItemTemplate>
    <FooterTemplate>
      <asp:Label ID="lbltotalAge" runat="server"></asp:Label>
    </FooterTemplate>
 </asp:TemplateField>
为了克服这个问题,我在GridView之外使用了
HiddenField
控件
在Jquery函数中计算完总值后,我将这些值复制到相应的
HiddenFields
,并成功地在codebehind中获得值


我的问题是为什么会这样?hiddenfields有什么特别之处?

并不是因为它们是隐藏字段,而是因为它们呈现为html输入控件,可以回发它们的值,因此可以在回发后再次使用

其他未呈现为输入控件的控件,它们无法回发其值,asp.net会在页面的viewstate上保存以前的值,这也是一个隐藏的输入控件,用于保存数据并回发。因此,在回帖之后,在asp.net后面的代码上解码视图状态,并将值提供给该控件


例如,
文本框
呈现为输入控件,
文本
不是。

您可能在页面中使用了更新面板,并且隐藏字段位于该更新面板的内容模板内。回发期间,它会更新隐藏字段值,因为它是客户端控件。
只是文本,而不是控件。通过检查输出的html源代码,您可能知道。如果任何类型的输入控件都是post数据,则文本框在输入控件上呈现。看看类型:非常奇怪的东西。。我正在使用文本框显示总值。。。当我执行textbox属性
Readonly=true
时,我无法访问textbox值,但当我设置
Enabled=“false”
时,值会在codebehind中捕获。。。我不希望使用gery文本颜色来显示
Enabled=“flase”
,因为它会使文本更难阅读…@mhasan如果您出于任何原因无法使用asp.net获取它的值,那么请使用
表单[ControlID.UniqueID]
查看返回的内容。我使用了
输入类型=“text readonly=“true”>
,现在就可以了。谢谢您的帮助。
string totalAge = ((Label)GrdV.FooterRow.FindControl("lbltotalAge")).Text; // always 0