1

我在我的 ASP.NET 页面中使用 ScriptManager,并希望添加一个 ScriptReference,它是这样的页面请求:

var id = 10;
tsm.CompositeScript.Scripts.Add(new ScriptReference("~/Response.aspx?action=test&id=" + id));

但它引发了一个错误:

'~/Response.aspx?action=test&id=10' is not a valid virtual path.

我应该动态添加这个脚本,我该怎么办?

4

1 回答 1

3

您正在尝试将虚拟路径与querystring参数混合,我认为解析“ ~”部分的底层 ASP.NET 方法期望字符串是纯虚拟路径,而不是 url。因此,首先将其映射为纯路径,然后添加查询:

 tsm.CompositeScript.Scripts.Add(new ScriptReference(ResolveClientUrl("~/Response.aspx") + "?action=test&id=" + id));
于 2009-09-29T01:23:38.213 回答