c# – 隐藏字段值不在IE中呈现
发布时间:2020-12-15 22:01:30 所属栏目:百科 来源:网络整理
导读:我在数据绑定GridView中有一个隐藏字段,它在IE 11.0.9600中没有呈现它的值. 的.aspx Columns asp:TemplateField ItemTemplate asp:HiddenField ID="hdnField" runat="server" Value='%# ((MyObject)Container.DataItem).MyEnumValue.ToString() %' / /ItemTe
我在数据绑定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> 渲染输出 镀铬/火狐 <input type="hidden" name="..." id="..." value="MyEnumStringValue"> IE <input name="..." id="..." type="hidden"></input> 在Chrome / Firefox中,相同的名称,相同的ID,没有值,也没有结束标记! 我需要做什么才能获得渲染值?有人经历过这个吗? 解决方法
我尝试了以下预期结果:
ASPX: <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"> IE 11.0.9600.16518: <input name="grid$ctl02$hdnField" id="grid_hdnField_0" type="hidden" value="MyEnumStringValue"> 所以问题可能在其他地方,你能发布更多的代码/细节吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |