我爲它獲取使用XSLT如下呈現的形式的XML模板:XSLT - 與名稱值對字典填充XML表單輸入
XML:
<form-template>
<fields>
<field type="text" required="true" label="Subject" class="form-control" name="subject" subtype="text"></field>
<field type="textarea" required="true" label="Description" class="form-control" name="description" subtype="textarea" rows="3"></field>
</fields>
</form-template>
的xsl:
<xsl:template match="/*">
<xsl:for-each select="fields/field">
<xsl:if test="@type='text'">
<label for="{@name}"><xsl:value-of select="@label"/></label>
<input class="form-control" data-val="{@required}" data-val-required="The {@label} field is required." id="{@name}" name="{@name}" type="text" value=""></input>
<span class="field-validation-valid" data-valmsg-for="{@name}" data-valmsg-replace="true"></span>
</xsl:if>
</xsl:for-each>
</xsl:template>
表單使用自定義HTMLHelper呈現。
@Html.RenderXml(Model.Template, Server.MapPath("~/Content/form.xslt"))
的值存儲爲名稱/值對:
var values = new Dictionary<string, string> {{"subject", "This is the subject"}, {"description", "This is the description"}};
如何傳遞這些價值的XSL和迭代針對XML模板每個表單域,如果名稱字段匹配名稱,然後用該值填充相應的字段。
我周圍搜索,但我不能看到如何將數組類型變量傳遞給xsl文件。
是否將字典轉換爲節點集並將其作爲參數列表參數傳遞?
有沒有人有任何其他建議或解決方法。一些代碼片段將是有益的太因爲我不是偉大的XSL/XML的
注意我試圖在.net MVC實現這一
感謝。我也管理了類似的東西 - 請參閱上面的答案。 – adam78