Url不是有效的虚拟路径

Spe*_*ick 3 c# asp.net webforms

我有一个超链接,用它传递变量.这是使用字符串和服务器属性的组合生成的.然而,它似乎适用于一些变量而不是其他变量.

如果我通过groupId和issuedMemberId,那就没关系了.

<asp:HyperLink runat="server" ID="groupUrlLink" NavigateUrl=<%# string.Concat("~/UpdateMember.aspx?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString(),"&issuedMemberId=", DataBinder.Eval(Container.DataItem, "IssuedMemberId").ToString()%> >
Run Code Online (Sandbox Code Playgroud)

但是,如果我改为使用另一个变量,生效日期,

<asp:HyperLink runat="server" ID="groupUrlLink" NavigateUrl=<%# string.Concat("~/UpdateMember.aspx?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString(),"&effectiveDate=",DataBinder.Eval(Container.DataItem, "EffectiveDate").ToString())%> >
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

'〜/ UpdateMember.aspx?groupId = 0032409901&effectiveDate = 3/31/2008 12:00:00 AM'不是有效的虚拟路径.

从错误中可以看出,它正确地使用了生效日期的值.从第一个例子开始,这是唯一改变的东西,所以我不确定为什么它现在不起作用.

Mur*_*ock 5

它可能是正斜杠(在URL的参数部分中)或空格.它不是URL的有效字符.

使用HttpUtility.UrlEncode编码的URL.或者如下面的评论所述.