Я создал простой пользовательский тег, который принимает строку, заменяя пробел на «-» и «&» на «и» для строки запроса (я не хочу% 20 и т. П.).
В любом случае, он работает нормально, однако мой пользовательский тег создает пробел перед собой примерно так:
qsEncode.cfm: (пользовательский тег)
<cfparam name="attributes.string" type="string" default="">
<cfset whitespace = Replace(attributes.string," ","-","all")>
<cfset ampersand = Replace(whitespace,"&","and","all")>
<cfoutput>#ampersand#</cfoutput>
Реализация тега:
<a href="?Page=<cf_qsEncode string="#getCategory.Name#">">#getCategory.Name#</a>
И окончательный вывод, создающий пробел перед тегом:
somepage.cfm?Page=%20Finance-and-Taxes
Моему пользовательскому тегу не передается строка, к которой добавлен пробел (и даже если бы он был заменен символом "-"), поэтому я не понимаю, почему тег создает пробел.
Примечание: Я понимаю, что могу включить ?Page=
в свой пользовательский тег, который бы это исправил, но мне все еще любопытно, почему это происходит.