使用ASP<%....%>标签

时间:2010-12-08 01:19:30

标签: asp.net

我一直在搜索这个问题已经有一段时间了,而且无法找到解决方案......

我有我的aspx文件,其中有一个asp:SqlDataSource,我希望得到的值等于Request.QueryString [" key"]。我为它定义了一个参数,但我找不到正确的语法来设置值。

目前它看起来像这样:

<SelectParameters>
    <asp:Parameter Name="courseID" DefaultValue="<%= Request.QueryString["course_name"]
</SelectParameters>

我总是得到错误,但形成不好。什么是正确的语法,是否有一篇文章如何使用此&lt;%..%&gt;命令?

2 个答案:

答案 0 :(得分:4)

an MSDN page表示每个标签的内容及其作用。可能使用<%...%>是不正确的,因为这只是一个代码标记。您希望<%=...%><%:...%>实际为页面写入值。

但是!实际上,如果我正在阅读你的问题是正确的,你不需要那些。要使SqlDataSource引入查询字符串值,您需要向数据源添加<SelectParameters>标记,然后向其添加<QueryStringParameter>

编辑:

是的,看看你刚刚做的编辑,你肯定想要一个QueryStringParameter

答案 1 :(得分:2)

您无法在高级asp控件中使用<%=。该构造直接写入输出缓冲区,而控制需要首先处理。换句话说,不是在扩展控件之前处理<%=,而是必须先扩展控件,然后才能处理<%=。它们处于不同的抽象层次。

要做你想要完成的事情,而不是简单的<asp:Parameter>使用<asp:QueryStringParameter>。这将允许您从查询字符串中设置要使用的密钥。