如果我通过为什么在URL <字符之前>#<字符之后>只读<字符之前>只有我查询字符串?
const string strEditParams = "TaskID={0}&TaskName={1}";
string strEditValues = string.Format(strEditParams,
lbl.Text
, "$#hello"
);
lnkBtn.Attributes.Add("onClick", "return OpenEditTask('test.aspx?" + strEditValues + "')");
从page1.aspx这个到Test.aspx文件,并在Test.aspx文件的页面加载,如果我做
if(!IsPostBack)
{
var pp = Request["TaskName"].ToString();
}
我只得到$。
为什么在查询字符串中,我在这种情况下只获得$而不是“TaskName”(#之前的字符)#的完整值以及如何解决这个问题?
感谢
我即使Server.HtmlEncode(strEditValues)尝试,但没有结果..请帮助 – mcUser
'HtmlEncode'doesn对你没有帮助,你需要'UrlEncode'来代替。 –
并且请注意,您应该始终使用URL编码将任何字符串注入查询字符串参数中。 '#'是一个会让你感动的角色,但是远不止这个角色。 – bobince