我发现这个问题似乎相关但没有成功解决我的问题:Defining ConnectionString in asp SqlDataSource
与此相关的大多数问题都与连接字符串有关。但是,我的问题有点不同。
在我的测试场景中,我正在创建一个评论网站。我有两个表:reviews和sites。我正在创建一个页面,允许用户根据登录用户的 ID 查看他们自己的评论。
<asp:SqlDataSource ID="ReadReviewDataSource"
runat="server"
ConnectionString="<%$ ConnectionStrings:Labor32_ECConnectionString %>"
SelectCommand="<%="SELECT sites.name
FROM sites
INNER JOIN reviews ON sites.id = reviews.site_id
WHERE reviews.usr_id =" +
ConfigurationManager.AppSettings["TestUserID"]%>">
</asp:SqlDataSource>
每当我尝试测试站点时,我都会得到并
Parser Error Message: Server tags cannot contain <% ... %> constructs.发现一些结果在其他上下文中讨论了此问题,但其中大多数都将整个连接信息或查询替换为 web.config 键值。在这种情况下,我只想用它替换我的参数。
当我按照此处找到的一些指导进行操作时:https : //forums.asp.net/t/1471702.aspx?Using+web+config+settings+in+a+asp+SqlDataSource+我收到一条错误消息,指出“标识符以...开头的太长了。最大长度为 128。” 我试图遵循此页面上的指导:https : //www.sqlservercentral.com/Forums/208737/The-identifier-that-starts-withis-too-long-Maximum-length-is-128但我不是运行存储过程(我想 VS 可能会通过后端的 SP 运行我的 SQL 语句,但我是新手,不熟悉它的工作原理)。
任何人都可以提供任何指导吗?
呼啦一阵风
相关分类