我想草稿構建一個動態的形式,我已經創建了以下內容:MVC動態表單如何添加驗證
與我想告訴所有字段XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<Fields>
<FieldList>
<Field>
<Type>checkbox</Type>
<Name>gender</Name>
<DefaultValue>false</DefaultValue>
<CssClass>myclass</CssClass>
</Field>
<Field>
<Type>textbox</Type>
<Name>name</Name>
<DefaultValue>fill name</DefaultValue>
<CssClass>formtextbox</CssClass>
</Field>
</FieldList>
</Fields>
鍵入的,我用反序列化XML A類觀點:
@model Fields
@{
if(Model!=null)
{
using (Html.BeginForm())
{
foreach (Field field in Model.FieldList)
{
switch(field.Type)
{
case "textbox":
@Html.TextBox(field.Name, field.DefaultValue);
break;
case "checkbox":
@Html.CheckBox(field.Name,Convert.ToBoolean(field.DefaultValue));
break;
}
}
}
}
}
通過應用程序正常工作的時刻,但我有以下疑點:
1)我認爲不是一個優雅的解決方案,因爲我必須在視圖中放置太多的代碼嗎?
2)我想現在添加一些服務器驗證。我通常使用數據註釋,但這裏不可能,因爲我不知道我提交的東西是怎麼樣的。有沒有什麼辦法可以即時創建一個類實例並隨時添加數據註解?
3)我創建了另一個處理帖子的動作和控制器。因爲我不知道即時通訊提交我的行動不會收到任何參數。我想我必須從我的行動中使用Request.Form嗎?
我覺得,您可以將foreach部分移到控制器,而是傳遞一個類的數組,該類可能有fr你的XML到視圖 – Yasser 2012-08-07 11:38:10