【发布时间】:2011-02-04 01:07:49
【问题描述】:
我有一个类库。在其中一个类中,我在页面上添加了一个脚本引用,如下所示:
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (this.Page != null)
{
ScriptManager sm = ScriptManager.GetCurrent(this.Page);
ServiceReference reference = new ServiceReference("~/Admin/Services/ContactsService.asmx");
reference.InlineScript = true;
sm.Services.Add(reference);
}
}
对于 ServiceReference 文件路径,有没有办法改为添加嵌入文件?我想将所有内容都保留在我的类库中,而不是将文件放入网站文件夹中。
【问题讨论】:
-
Web 服务必须存在,这意味着可以通过 url 访问,因此您不能只嵌入 .asmx 文件并使用资源访问它。您是否尝试在自己的库中引用服务,如果是,请添加对它的常规引用,而不是通过网络服务。
-
它在同一个库中,但我需要通过 Javascript 调用 WebMethod。是否仍然可以添加常规参考(不确定您的意思)?另外,我知道它必须通过真实的 URL 存在,所以我不能这样做: new ServiceReference(Page.ClientScript.GetWebResourceUrl(this.GetType(), "MyLibrary.Services.FormsService.asmx"))错误说不支持,但也许我做错了什么。
-
我在这里可能有点过头了,但是您可以在 .aspx 文件中定义 [WebMethods] 并从 javascript 中调用它们。检查此链接以获取信息 - dotnetcurry.com/ShowArticle.aspx?ID=109。这样您就可以将其全部包含在您正在创建的页面或您使用库的页面中。
标签: c# asp.net web-services .net-3.5 class-library