下面的程序,我试图返回一个带有参数的URL地址:
string url=Application["RootFolder"].ToString();
url+="/Include/WebDialog/Common/CreateUserList.aspx?tbl="+_TableName;
url+="&fld="+_FieldName+"&b="+(Convert.ToInt32(_BookQuery)).ToString();
string str="Open("+url;
str+=","+tb.ClientID+");return false;";
btn.Attributes.Add("onclick",str);
然而,实际运行后发现,上述函数返回的URL地址中字符&被特殊编码,导致程序运行出错,URL已经被编码为:
CreateUserList.aspx?tbl=bz_IOPlanBase&fld=ioPlanCreateUser&b=1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
请问如何才能返回正确的URL字符串,我尝试使用Server.UrlEncode等方法,好像不行的?
可以用\&代替&看看
也可以这样 string sql = @"asdfadf&";
>>>导致程序运行出错
really? are you sure? since the browser knows "&" is same as "&", for example
Open.html:
<script>
window.open("TestOpen.aspx?id=1&name=2","_blank");
</script>
TestOpen.aspx:
<%=Request.QueryString("name") %><BR>
<%=Request.QueryString("id") %><BR>