Kentico - 将查询字符串显示为输入字段的值

Kentico - Display query string as value of input field

我想将查询字符串(如果它不为空)显示为输入字段的值,像这样<input name="campaign" type="hidden" value="ABC Campaign {% if (QueryString.GetValue("utm_source") != null) { return "| QueryString.GetValue("utm_source")"} %}" />

但由于所有双引号,无法使其工作。我试过用反斜杠转义引号,但没有用。你能帮忙吗? (以上代码放在Form > Layout里面)

使用单引号包裹整个语句并删除 return 语句的引号:

value='ABC Campaign {% if (QueryString.GetValue("utm_source") != null) { return  QueryString.GetValue("utm_source")} %}'

{%String.IsNullOrEmpty(QueryString["utm_source"])?QueryString["utm_source"]:""%}

您也可以使用另一种语法来获取查询参数:

{% !String.IsNullOrEmpty(QueryString.utm_source)?QueryString.utm_source:"" %}

更短!

{% Convert.ToString(QueryString.utm_source, "") %}

但是如果你想让它有一个 |在它之前,那么你将不得不使用

{% string.isnullorwhitespace(QueryString.utm_source) ? "" : "|"+QueryString.utm_source %}