DotLiquid中的子标签上下文(带表格)

时间:2017-12-24 17:34:12

标签: c# .net-core liquid dotliquid

我希望能够在子标记内访问传递给DotLiquid中的表单标记的对象。像这样:

{% form '/action' requestObject %}
    {% textinput Name %}
    <button type="submit">Create Request</button>
{% endform %}

textinput标记在name上查找requestObject字段,然后将值放入文本输入字段。我的liquidese是一个相当生疏的,所以如果我发现这一切都是错的,我会开始连贯地尖叫着我是什么样的傻瓜以及我需要做些什么才能做得更好。

1 个答案:

答案 0 :(得分:1)

使用Context的{​​{1}}标记渲染器可以轻松完成此操作:

Stack

在运行传递给它的动作之前,public class Form : Block { // public override void Initialize... public override void Render(Context context, TextWriter writer) { context.Stack(() => { context["form_obj"] = new FormObject(); result.Write("<form>"); base.Render(context, result); result.Write("</form>"); } } } 推送一个新的Hash变量堆栈(查找未设置变量的链),然后在最后弹出它。适用于局部变量范围。