我正在做一个使用SharePoint应用程序页面的SharePoint 2016项目。我们有一个单独的用户控件,用于捕获地址,并用于应用程序的其他部分。
为了使用这一点,我将用户控件添加到SharePoint应用程序页面中,如下所示。
<%@ Register TagPrefix="uc" TagName="StreetAndPostalAddress" Src="~/_controltemplates/15/Test.Features.WebParts/QAS/QASAddressStreetAndPostal.ascx" %>
并尝试在页面中使用此控件,如下所示。
<uc:StreetAndPostalAddress id="locationAndPostalAddress" runat="Server" />
一旦我将这个控件添加到页面中,它就会给我一个错误,如下所示。我试过了,但却找不出这方面的线索。主要原因是同一控件正在另一个页面上工作。请分享你的想法来解决这个问题。谢谢。
我注意到页面使用了一个更新面板,如下所示
<asp:UpdatePanel ID="UP_Accordion" runat="server" UpdateMode="Conditional" ClientIDMode="Static" >
知道它有什么用吗?
First 在页面中定义了<%@ Control ClientIDMode=“静态”>,一旦我将其更改为<%@ Control ClientIDMode=“可预测”>,问题就解决了。但是页面的功能不起作用。因为JavaScript/Jquery不起作用。还没有解决我的问题:
发布于 2019-08-13 05:16:16
最后,我明白了为什么这个页面不能工作。它由一个手风琴和一个格子组成。我有一个要求重复同一个用户控制。由于ClientIDMode被设置为静态,所以我出现了上述错误。我阅读这篇文章是为了理解ClientIDMode的概念,并将其从页面中删除。使用下面的链接来学习它。
1) https://weblog.west-wind.com/posts/2009/nov/07/clientidmode-in-aspnet-40
一旦删除了ClientIDMode,页面中的jquery似乎就不起作用了。我必须更改ID的jquery选择器,并使用模式匹配进行选择。一旦更改了正确呈现的页面。
2) How to stop ASP.NET from changing IDs in order to use jQuery
https://stackoverflow.com/questions/57423499
复制相似问题