C# 隐藏字段值未在IE中呈现
我在数据绑定的GridView中有一个隐藏字段,它在IE 11.0.9600中没有呈现它的值 .aspxC# 隐藏字段值未在IE中呈现,c#,asp.net,internet-explorer,webforms,hidden-field,C#,Asp.net,Internet Explorer,Webforms,Hidden Field,我在数据绑定的GridView中有一个隐藏字段,它在IE 11.0.9600中没有呈现它的值 .aspx <Columns> <asp:TemplateField> <ItemTemplate> <asp:HiddenField ID="hdnField" runat="server" Value='<%# ((MyObject)Container.DataItem).MyEnumValue.ToString()
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hdnField" runat="server" Value='<%# ((MyObject)Container.DataItem).MyEnumValue.ToString() %>' />
</ItemTemplate>
</asp:TemplateField>
渲染输出
Chrome/Firefox
即
相同的名字,相同的id,ie中没有值,Chrome/Firefox中没有结束标记
我需要做什么才能获得要渲染的值?还有其他人经历过这种情况吗?我尝试了以下方法,并取得了预期的效果: aspx: 这导致: 铬32.0.1700.107:
<input type="hidden" name="grid$ctl02$hdnField" id="grid_hdnField_0" value="MyEnumStringValue">
IE 11.0.9600.16518:
<input name="grid$ctl02$hdnField" id="grid_hdnField_0" type="hidden" value="MyEnumStringValue">
所以问题可能出在其他地方,你能发布更多的代码/详细信息吗?你为HiddenField控件添加了ControlAdapter类吗?@angrymrt不,我从来都不需要使用它们。事实上,我现在已经离开了这家公司,因此无法再访问代码。如果它在普通设置中工作,那么它一定是页面/站点中的其他内容,或者是我使用的IE的特定版本中的一个bug(现在没有访问权限)。谢谢
<asp:GridView ID="grid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hdnField" runat="server" Value='<%# ((MyObject)Container.DataItem).MyEnumValue.ToString() %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
grid.DataSource = new[] {
new MyObject()
{
MyEnumValue = MyEnum.MyEnumStringValue,
}};
grid.DataBind();
}
public class MyObject
{
public MyEnum MyEnumValue { get; set; }
}
public enum MyEnum
{
MyEnumStringValue,
}
<input type="hidden" name="grid$ctl02$hdnField" id="grid_hdnField_0" value="MyEnumStringValue">
<input name="grid$ctl02$hdnField" id="grid_hdnField_0" type="hidden" value="MyEnumStringValue">