【发布时间】:2018-07-06 21:22:06
【问题描述】:
我想使用页面 URL 中的查询字符串参数通过 UniversalViewerWithCustomQuery webpart 加载页面:
带有查询字符串参数的页面 URL:mysite\home\mypage.aspx?id=3
到目前为止我尝试过的我的内容查询:
SELECT Top 1 ObjectID,Field1,Field2 FROM MyTable where ObjectID = {% 查询字符串.id %}
获取错误:“%”附近的语法不正确。于是我试了一下:
SELECT Top 1 ObjectID,Field1,Field2 FROM MyTable Where ##WHERE##
内容过滤 Where 子句:ObjectID = {% QueryString.id %}
获取错误:属性“wherecondition”中的 SQL 查询无效。
我还尝试仅使用字符串 {% '3' %} 代替 querystring 参数并得到相同的错误。我知道我做错了什么,但不知道是什么......
++++++++++++++++++++++++++++++++++++++++++++++++++ ++
更新 1
我使用数据库对象应用程序将所有 SQL 内容移动到自定义存储过程中。 哪里有如何从我的 UniversalViewerWithCustomQuery 调用存储过程的示例?
更新 2
要打电话,我想我会尝试常规的旧 TSQL 并且它有效:
EXEC Proc_Custom_MyProc_MyProc
但是当我尝试使用参数调用时,我得到了和以前一样的错误!!!
EXEC Proc_Custom_MyProc_MyProc @id = {% '2' %}
【问题讨论】:
-
请确保您的查询不对 SQL 注入开放;你的例子看起来可能是这样。 owasp.org/index.php/…
-
感谢您的关注。不是最终版本,从简单开始并逐步完善。
标签: kentico