uba*_*raf 32 c# asp.net iis treeview iis-7
我正面临TreeView控制方面的问题.我为TreeView控制节点启用了复选框.它工作正常,显示正常.但是,当我将其部署到IIS时,复选框在那里不可见.它根本没有渲染.以下是TreeView:
<asp:TreeView id="tvExplicit"
EnableClientScript="true"
PopulateNodesFromClient="true"
ExpandDepth="0"
ShowLines="true"
ShowExpandCollapse="true"
ShowCheckBoxes="Root"
OnTreeNodePopulate="tvExplicit_TreeNodePopulate"
Width="1px"
runat="server">
<Nodes>
</Nodes>
</asp:TreeView>
Run Code Online (Sandbox Code Playgroud)
此代码在我的本地计算机上正常运行.但不是在IIS上部署时.一切正常,除了显示根节点的复选框.
注意:复选框根本不会呈现为HTML.因此,根据我的说法,它不是CSS阻止它
更新:我能够发现该页面的先前版本已缓存在IIS中,即使在重置APP池后也未重置.
第二次更新:在本地主机的复选框的客户编号是ctl00_MainContent_tvExplicitn0CheckBox,ctl00_MainContent_tvExplicitn1CheckBox等.这就是问题的原因.我注意到的另一件事是为localhost和部署到IIS的服务器中的控件生成的客户端ID的差异.下面是渲染<a>,它是两个树视图控件的一部分:
MainContent_tvExplicitt0,MainContent_tvExplicitt1这是树视图节点链路的IDctl00_MainContent_tvExplicitt0,ctl00_MainContent_tvExplicitt2,等因此问题可能与如何在不同的环境中实际呈现控件有关,即我的localhost和IIS服务器.在localhost中,.Net 3.5 framework是否存在于IIS服务器中.Net 4.因此可能是因为这client ID两个版本的生成都不同.
第三次更新
此外,我将框架版本更改为.net 4in localhost,但它没有重现该问题.它也添加controlRenderingCompatibilityVersion="3.5"了web.config.然后我将相同的代码部署到IIS,我得到的错误controlRenderingCompatibilityVersion不是有效标记.这是否意味着IIS服务器没有运行..net 4我自己无法访问IIS服务器.
第4次更新:
应用程序.net 4在IIS中配置了版本.
第五次更新 我将相同的构建部署到不同机器上的另一台IIS服务器(这些是我们运行应用程序的旧服务器).并且可以看到复选框..net框架的版本与面临问题的版本相同.要求相关团队将这些服务器中的相同设置更新为面临问题的服务器.它仍然没有帮助.因此,在新的服务器上配置网站的方式确实存在问题,其中复选框不可见
还没有答案,需要显示图像,我也尝试过相同,在aspx中使用此代码:(我没有更改IIS中的任何设置,也没有在aspx中创建一个简单的解决方案>>添加了树视图并部署.)
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div>
<asp:TreeView ID="TreeTest"
EnableClientScript="true"
PopulateNodesFromClient="true"
ExpandDepth="0"
ShowLines="true"
ShowExpandCollapse="true"
ShowCheckBoxes="Root"
OnTreeNodePopulate="TreeTest_TreeNodePopulate"
Width="1px"
runat="server">
<Nodes>
<asp:TreeNode Text="Something">
<asp:TreeNode Text="11"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Something">
<asp:TreeNode Text="11"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Something"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</div>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
部署在IIS 6.2版的Windows Server 2012中,可以看到:

必须有其他东西阻止页面中的复选框.显示更多代码.
小智 5
有时,IIS配置为与本地版本不同的IE版本,这可能会导致一些兼容性问题.
我总是将以下内容添加到我的html文件中的head元素中:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
Run Code Online (Sandbox Code Playgroud)
这里有更多信息:
https://msdn.microsoft.com/en-us/library/jj676913(v=vs.85).aspx
| 归档时间: |
|
| 查看次数: |
980 次 |
| 最近记录: |