gpt4 book ai didi

c# - WebResource 是空白页

转载 作者:太空宇宙 更新时间:2023-11-03 20:42:01 27 4
gpt4 key购买 nike

我有一个自定义控件,里面有一个网络资源。

webresource 是一个 javascript 文件,我将 javascript 文件上的构建选项设置为“嵌入式资源”,我的自定义控件所在的项目的 AssemblyInfo.cs 中有以下代码行:

// Export the MultiSelectGridView.js file
[assembly: WebResource("SOM.DCO.CustomWebControls.MultiSelectGridView.js", "application/x-javascript")]

在我的自定义控件中,我在覆盖的 onload 事件中有以下几行:

private const string MULTISELECTGRIDVIEW_JS = "SOM.DCO.CustomWebControls.MultiSelectGridView.js";
Type t = this.GetType();
string url = Page.ClientScript.GetWebResourceUrl(t, MULTISELECTGRIDVIEW_JS);
if (!Page.ClientScript.IsClientScriptIncludeRegistered(t, MULTISELECTGRIDVIEW_JS))
Page.ClientScript.RegisterClientScriptInclude(t, MULTISELECTGRIDVIEW_JS, url);

我还尝试了以下方法:

private const string MULTISELECTGRIDVIEW_JS = "SOM.DCO.CustomWebControls.MultiSelectGridView.js";
if (!Page.ClientScript.IsClientScriptIncludeRegistered(t, MULTISELECTGRIDVIEW_JS))
Page.ClientScript.RegisterClientScriptResource(t, MULTISELECTGRIDVIEW_JS);

不幸的是,无论我做什么,我得到的网络资源都是空白的,因此我的 javascript 文件中的任何函数都没有包含/定义在我的消费页面中。

我是否漏掉了一些明显的东西?

最佳答案

我刚刚遇到了同样的问题,要找出解决办法简直就是一场噩梦。感谢this link,我终于弄明白了.

如果您在解决方案资源管理器中右键单击您的解决方案名称,然后选择“属性”,您将看到“默认命名空间”的文本框。

此默认命名空间值必须与您放置在网络资源前面的命名空间相同。

因此,如果您的属性中的默认命名空间仅为“SOM”或仅为“CustomWebControls”,您需要将其更改为“SOM.DCO.CustomWebControls”。

然后在您的“程序集:WebResource”中使用相同的完整命名空间,并调用 RegisterClientScriptInclude(或 RegisterClientScriptResource,或您用来附加 Web 资源的任何方法。

关于c# - WebResource 是空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203357/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com