2014-02-19 21 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