如何从代码隐藏页面中的变量集设置实体数据源连接字符串。
e.g。
背后的代码中有类似的东西string edsconstring = "name=EDSEntities";
然后在aspx中
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString=<%= this.edsconstring %> DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>
答案 0 :(得分:0)
对于您的情况,请尝试使用CodeExpressionbuilder
添加此类:
[ExpressionPrefix("Code")]
public class CodeExpressionBuilder : ExpressionBuilder {
public override CodeExpression GetCodeExpression(BoundPropertyEntry entry,
object parsedData, ExpressionBuilderContext context) {
return new CodeSnippetExpression(entry.Expression);
}
}
ASPX标记:[观察ConnectionString="<%$ Code: edsconstring %>"
]
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString="<%$ Code: edsconstring %>" DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>
另一种情况:使用ConnectionStringExpressionBuilder,因此您可以参考web.config中新连接字符串部分中定义的连接字符串。在使用新的声明性数据控件时,这非常有用:
<asp:EntityDataSource ID="UnAuthPricesEDS" runat="server"
ConnectionString="<%$ ConnectionStrings: MyConfigConnectionString %>" DefaultContainerName="CS3Entities"
EnableFlattening="False" EntitySetName="CustomersItems" Where="it.Authorised=false"
OrderBy="it.DateSet" >
</asp:EntityDataSource>