C# RegisterClient Criptin包括:什么是;“类型”;参数是什么?

C# RegisterClient Criptin包括:什么是;“类型”;参数是什么?,c#,javascript,asp.net,server-side-includes,C#,Javascript,Asp.net,Server Side Includes,我目前正在研究这个方法,所以我可以确定我不会在一个页面上做两次包含JQuery之类的事情。Microsoft文档说明: RegisterClientScriptInclude方法的此重载使用键和url参数来标识脚本,以及一个类型参数来指定客户端脚本include的标识。根据将访问资源的对象指定类型。例如,当使用页面实例访问资源时,可以指定页面类型 我不明白这对我有什么实际意义。它是否只是以某种方式标识哪个页面/控件优先并注册了include?有人能解释一下为什么我想在key/url之外提供一个类

我目前正在研究这个方法,所以我可以确定我不会在一个页面上做两次包含JQuery之类的事情。Microsoft文档说明:

RegisterClientScriptInclude方法的此重载使用键和url参数来标识脚本,以及一个类型参数来指定客户端脚本include的标识。根据将访问资源的对象指定类型。例如,当使用页面实例访问资源时,可以指定页面类型


我不明白这对我有什么实际意义。它是否只是以某种方式标识哪个页面/控件优先并注册了include?有人能解释一下为什么我想在key/url之外提供一个类型吗?提前感谢。

该类型与键字符串一起使用以形成唯一标识符。这用于标识包含,以便您可以使用同一脚本多次调用
RegisterClientScriptInclude
,但在页面中只包含一次


需要该类型,以便控件可以在页面中彼此独立地工作。如果有两个控件生成彼此不知道的包含,则它们可能会意外地使用相同的键字符串。如果不使用该类型(在本例中为控制类型),一个包含将排除另一个,尽管它们从未打算相互干扰。

好问题。我也一直想知道这一点。如果我没有弄错,这是否意味着如果我调用了
RegisterClientScriptInclude(MyPageType,“JQuery”,“JQuery.js”)
RegisterClientScriptInclude(MyControlType,“JQuery”,“JQuery.js”)
会包含对JQuery的两个引用?如果是这样的话,听起来我不想用它来表达我的特殊关切。@Ocelot20:是的,这是正确的。如果希望include对于页面是唯一的,可以使用
Page.GetType()
作为类型。(该方法还有一个重载,它不需要类型参数,但文档仅说明它使用类型参数调用重载,而不使用它使用的类型。)