2010-12-08 88 views
0

我一直在寻找这个相当长的一段,但没有找到一个解决方案...使用ASP <% .... %>标签

我有我的aspx文件并在它的ASP:SqlDataSource的,在这里我想获得价值这等于Request.QueryString [“key”]。我为它定义了一个参数,但是我找不到正确的语法来设置值。

目前,它看起来像这样:

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

,我总是得到错误,它没有很好地形成。什么是正确的语法,是否有文章如何使用这个<%..%>命令?

+0

你能举一个你的代码的例子吗? – 2010-12-08 01:21:30

回答

4

an MSDN page,它会检查每个标签是什么以及它做了什么。可能使用<%...%>是不正确的,因为这只是一个代码标签。你想<%=...%><%:...%>这实际上写入值的页面。

但是!实际上,如果我正在阅读你的问题是正确的,你就不需要那些。为了让SqlDataSource提取查询字符串值,您需要将<SelectParameters>标记添加到数据源,然后将<QueryStringParameter>添加到该数据源。

编辑:

是的,看你刚才所作的修改,你一定要一个QueryStringParameter

2

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

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