我使用以下方法将所有VB.NET扩展包含在fileName.aspx代码中:
<%@ Assembly Src="MyExtensions.vb“%>
我如何在我的MyModule.vb代码中包括相同的扩展名文件?
我试着说的每一件事:
编译器错误消息: BC30456:'myCode‘不是'String’的成员。
我的任何扩展都找不到。
所有的代码都是使用NotePad++编写的。所有的文件都放在一个单一的folder...and中,一切正常工作.除了“MyExtenstions.vb中存在的扩展的使用.当试图在MyModule.vb中使用时”。
我们永远无法从拥有该网站的公司那里获得许可(以及金钱和时间)来“正确地重做这一切”。我们实际上只是在寻找一个简单的解决方案,比如:
刚刚把"Imports MyExtension.vb“放在MyModule.vb顶部
我们没有(也从来没有)一个*.vbproj文件。我们尝试创建一个APP_CODE文件夹并将我们的MyExtensions.vb文件放在那里.但是当主页面被加载..。它从未见过MyExtensions.vb。(我不知道这是怎么回事。)
或许那是不可能的。
我做的事,,而不是想做的事:
为了让我们重写整个网站,ASP.NET/VB.NET.
该网站工作100%完美无缺。我只想要一个快速/简单的“--包含我的MyExtensions.vb文件.在MyModule.vb文件中的语法是什么”(就像它适用于所有其他*.aspx文件一样)。
发布于 2022-08-08 15:52:58
既然这不是一个网站鼓掌,而是一个asp.net站点?
然后,您可以自由地向项目添加代码模块,但您必须将它们放在App_code文件夹中。
您还注意到添加模块丢失了。(如果您创建一个asp.net网站应用程序,则不是这样的)。
因此,您可以右键单击app_code文件夹,然后选择add。
例如:
(当然,您也可以选择添加新项,并从上面选择类。
但我们不想要一门课,而是一个很好的快乐模块。
因此,只需将模块命名为module2或其他什么。
然后你有了这个:
但是,它将模板出一个类,如下所示:
因此,只需将上面的内容改为:
现在,如果由于某种奇怪的原因,您没有app_code文件夹?
好吧你应该这么做。但是,你可以加上一个:
右键单击顶级项目名称,如下:
现在,如果app_code已经存在,那么当然您没有提供创建的选项。
当使用asp.net网站“应用程序”(您不是)时,您不限于将类和模块放入app_code中。
但是,对于asp.net网站,如果您试图在app_code之外添加一个类,那么您应该会得到/看到以下消息:
所以,实际上很难搞砸这件事。
一旦你在上面做了?那么喜欢好的老VB6,VBA,还是vb.net?
您不需要添加对每个页面的引用--在默认情况下,这样的通用子类和函数是全局的,所有代码模块、所有类和每个网页都应该免费使用放置在该模块中的任何公共子程序或函数。
它们有点类似于我们所称的c#静态类,但实际上它们更好,您不必在每个例程前面加上模块或类名。
但是,您可以通过module1或2 name等对子/函数进行前缀,因为可以将子或函数名放入多个具有相同名称的代码模块中。如果这样做,那么您应该会得到一个编译错误警告。
所以你可能会说必须用
Call Module2.MySubName()
如果您在两个不同的模块中有两个公共MySubNames。
此外,确实要避免使用模块级别上的全局变量。(它们可能会陷入困境,并在网络用户之间共享)。谢天谢地,由于asp是无状态的,那么确定全局变量的范围也就没有什么意义了。
因此,除了将代码模块甚至类转储到应用程序代码文件夹之外,您不必再做任何事情。一旦完成,他们只是工作,你不应该做任何进一步的事情。
所以现在你可以把代码放到那个模块里了。包括任何扩展。
在其他代码(例如网页后面的代码)中,标准导入模块的顶部为
进口模组1. module1.myPublicExtenstion
应该像使用扩展的任何代码一样工作。
https://stackoverflow.com/questions/73282462
复制相似问题