![]() |
1
2
我假设您的用户控件位于根目录或没有web.config的目录中,因此它们使用根web.config。问题的原因是这个。 对于解决方案,我认为在您的页面中,可以通过属性将连接字符串设置为其用户控件。或者您可以让您的用户控件通过一个方法访问页面上的连接字符串。 |
![]() |
2
1
我猜您的用户控制着用户控件实现中直接从web.config读取的一些地方。但是,它将信息绑定到与用户控件真正相关的用户控件。(信息是如何获取连接字符串,而不是它本身的连接字符串)。这种绑定违反了单一责任原则,并且(间接地)导致了您的问题。而不是读取用户控件内的连接。将连接字符串公开为属性,并在实例化控件时让页对其进行设置。 让它更进一步地进入行为良好的设计。您的用户控件可能甚至不知道连接字符串,而是应该有一个worker类,或者更好,您可能希望重写以具有用于显示的控件、用于检索数据的worker以及用于将检索到的数据绑定到控件的机制。 |
![]() |
3
0
如果只是一个连接字符串(或者只是几个设置变量),您可以从父页面将它们传递给您的控件。 在包含问题用户控件的页面中,可以引用ASPX页面中的控件,然后在初始化ASPX页面及其控件时,可以重写其Contractor/Custom函数中的连接字符串。 在您的ASPX页面中
代码端(ASPX)
然后在控制端,只需设置默认的构造函数和重写构造函数来接受来自父ASPX页的连接字符串。 在您的控件中,您将只使用这个覆盖连接字符串。 |
![]() |
Haim Ohayon · 这些链接之间有什么区别? 3 年前 |