2010-12-08 166 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>。這將允許您從查詢字符串中設置要使用的密鑰。