控件中连接字符串的值是通过一个函数取得的,所以写代码如下:
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%=DB.GetConn()%>" 
        SelectCommand="" SelectCommandType="StoredProcedure">
    </asp:SqlDataSource>
提示错误:Keyword not supported: '<%'. 
已知函数DB.GetConn()工作正常(移到本页的其他位置,可输出正确的值),该怎么写?(除去在后台页面中赋值的方法)

解决方案 »

  1.   

    ConnectionString="<%$ ConnectionStrings:ConnectionString %>"SqlDataSource1.ConnectionString = DB.GetConn();
      

  2.   

    runat="server" 的控件里无法使用 <%= %> 语句块,如梦妹妹说的 <%$ %>,意思是从web.config里读取,楼主试试,好使
      

  3.   

    Keyword not supported: '<%'应该是数据库报的错,<%=%>对服务器控件标记无效,只能在后台赋值。
    SqlDataSource1.ConnectionString = DB.GetConn();
      

  4.   

    也可以直接赋连接字符串:
    .......
    ConnectionString="Data Source=.;Initial Catalog=DBase;User ID=sa;Password=123456" 
    ......
      

  5.   

    嗯,我打个岔,给你个的建议,最好全都是用ObjectDataSource,然后在BLL类中才根据情况使用各种数据库呀、远程服务呀、xml配置文件呀、元啊的什么的。把这些东西都隐藏在ObjectDataSource背后。
      

  6.   

    元啊的什么的  -->  云啊的什么的比如有些“站内查询”结果真的不是从数据库中查出来的,而是调用搜索引擎的api得来的,这些差别都隐藏起来了。