後、私は、XML/XSLTリストビュー - ダイナミックコントロールはポストバック
<asp:ListView ID="DynamicFields" runat="server"
DataSourceID="CustomFields"
OnItemDataBound="DynamicFields_ItemDataBound"
GroupItemCount="2" ItemPlaceholderID="itemsGroup"
GroupPlaceholderID="itemsGroup">
<LayoutTemplate>
<table width="470" border="0" cellpadding="0" cellspacing="10">
<asp:PlaceHolder ID="itemsGroup" runat="server" />
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemsGroup"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<custom:CustomField ID="Field" runat="server"
FieldIndex='<%# Eval("index") %>' />
</ItemTemplate>
<AlternatingItemTemplate>
<custom:CustomField ID="Field" runat="server"
FieldIndex='<%# Eval("index") %>' />
</AlternatingItemTemplate>
</asp:ListView>
から動的なコントロールをロードし、私のページの分離コードで、私は、ユーザーコントロールのプロパティを結合し、ロードbindメソッドを呼んでいるリストビューを持っている消えますxmlを作成してコントロールを作成する
protected void DynamicFields_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
ucCustomField uc = (ucCustomField)e.Item.FindControl("Field");
uc.FileName = FORM_PATH;
uc.FormName = FORM_NAME;
uc.LoadXMLFile(); //binding xml content here
}
}
このリストビューは、静的コントロールと保存ボタンがある既存のフォームに追加します。私がボタンをクリックすると、バリデーションが行われ、検証要約ポップアップメッセージが表示されます。[OK]をクリックするとlistviewのすべての動的コントロールが消えます。 これらのコントロールを表示し、ポストバック後に入力された可能性のある値を保持するにはどうすればよいですか?
バリデーションイベントはありますか?もしそうなら、そのコードを貼り付けることもできます。正確なエラーは何を返しているのですか? – MethodMan
@DJ更新された質問 –