我必须为我的asp.net项目实现自定义连接字符串处理程序。 它们通常存储在web.config文件中,但是,根据页面的主机头,它可能是5个连接字符串之一。我所做的是构建一个自定义类来查看主机头,并通过[SESSION_VARIABLE]将所需的连接字符串存储在母版页中。在页面的.cs文件中,我可以使用Master.conString访问它,但是我发现了很多页面,其中GridView绑定到数据源,并启用了排序,分页,编辑和删除。
将它们全部转换为代码页并在C#中重新创建每个事件都不是一件小事,所以我真的很想找到解决方法。
那我该怎么办呢?
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
DataSourceMode="DataSet"
ConnectionString="<%$ ConnectionStrings:i_v2ConnectionString %>"
SelectCommand="SELECT [id], [Carrier]FROM [Orders_Carriers] ORDER BY [Carrier]"
UpdateCommand="UPDATE [Orders_Carriers] SET Carrier=@Carrier WHERE id=@id"
OnUpdated="OnDSUpdatedHandler"
DeleteCommand="DELETE FROM [Orders_Carriers] WHERE id=@id"
OnDeleting="OnRecordDeleting"
OnDeleted="OnRecordDeleted"
InsertCommand="INSERT INTO [Orders_Carriers] ([Carrier]) VALUES (@Carrier">
</asp:SqlDataSource>
并更改
ConnectionString="<%$ ConnectionStrings:i_v2ConnectionString %>"
改为使用Master.conString。
存储在Master.conString中的值是字符串值“i_v2ConnectionString”。
我应该补充一点,我得到“ConnectionString属性尚未初始化。”如果我这样做错误:
ConnectionString="<%# Eval(Master.conString) %>"