2014-02-19 20 views
0

我使用SelectParameters:使用JavaScript函數返回值作爲內部參數的<asp:QueryStringParameter>

<SelectParameters> 
    <asp:QueryStringParameter Name="Store" DbType="String" Direction="Input" QueryStringField="Name" DefaultValue="getURL();" ConvertEmptyStringToNull="True" /> 
</SelectParameters> 

我的JavaScript函數看起來如下:

function getURL() { 
    var url = document.URL; 
    url = url.substring(url.indexOf('=')+1, url.length); 
    return url; 
} 

我回送部來自該網頁的網址,雖然它不起作用。

我認爲該函數沒有執行,因爲「DefaultValue」參數被用作字符串值。

任何幫助,將不勝感激!

+0

我試過DefaultValue = getURL(); (不帶引號),但它仍然不起作用。 –

回答

0

當您嘗試調用只能在瀏覽器中執行的javascript函數getURL()時,您的ASP代碼在服務器上執行,即在客戶端執行。

你試圖實現的目標是無法完成的。

+0

感謝您的回答!你能給我一些建議,以便如何從我的SelectParameter中使用頁面的URL嗎?還是有更好的方式去做我想要達到的目標? –

+0

我不是ASP程序員,但我確信ASP將提供某種服務器API來獲取請求參數,即GET/POST請求發送的參數。使用這樣的API會幫助你。 對於Java Servlets,可以使用request.getQueryString()或request.getParameter(「Name」)實現相同的功能。 – kcak11