Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 隐藏字段值未在IE中呈现_C#_Asp.net_Internet Explorer_Webforms_Hidden Field - Fatal编程技术网

C# 隐藏字段值未在IE中呈现

C# 隐藏字段值未在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()

我在数据绑定的GridView中有一个隐藏字段,它在IE 11.0.9600中没有呈现它的值

.aspx

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