外部キーのドロップダウンを持つ基本的な挿入フォームを足場にしたいと思っています。EFソースからのWebアプリケーションの足場DynamicDataドロップ
私はこれを行う方法を理解できないようです。メタデータを作成するとき、すべてのMetaColumnsはMetaColumns型でMetaForeignKeyColumns型はありません。つまり、すべてのプロパティのテキストボックスをレンダリングすることを意味し、ドロップダウンリストはありません。
UIHintsは無効です。私はまずエンティティフレームワークのコードを使用しています。これらのテキストボックスをドロップダウンにするにはどうすればいいですか?実際には、私はMetaDataプロパティが作成されていないと思います(私はおそらくここに何か不足しています)。
AddPermission.aspx(フォームのみ)私はDynamicDataManagerを使用する必要がある場合があり
public partial class tag_permission
{
[ScaffoldColumn(false)]
public short tp_tag_permission_id { get; set; }
//foreign key one
public string tp_security_group_id { get; set; }
//foreign key two
public short tp_tag_id { get; set; }
[Display(Name = "View")]
public Nullable<bool> tp_vis { get; set; }
}
<asp:FormView runat="server" ID="AddPermissionForm"
ItemType="Common.Models.tag_permission"
InsertMethod="AddPermissionsForm_InsertItem" DefaultMode="Insert"
RenderOuterTable="false" OnItemInserted="AddPermissionForm_ItemInserted">
<InsertItemTemplate>
<fieldset>
<ol>
<asp:DynamicEntity runat="server" Mode="Insert" EnableViewState="true" ></asp:DynamicEntity>
</ol>
<asp:Button class="btn btn-primary" runat="server" Text="Insert" CommandName="Insert" />
<asp:Button class="btn btn-default" runat="server" Text="Cancel" CausesValidation="false" OnClick="CancelButton_Click" />
</fieldset>
</InsertItemTemplate>
tag_permission.cs(コード最初のモデルの一部)または何か、しかし、私はどのように見つけるか、またはこのページで使用する必要があるかどうかわからないformviewをongside。
また、WebアプリケーションのDefault_Insert.aspx.csのレンダリングと基本的なDynamicData Webサイトのレンダリングとを比較したスクリーンショットも添付しました。以下の図では、DynamicData/Default_Insert.ascx.csでMetaTable Tableプロパティが検査されています。
後のイメージに不完全なMetaTableプロパティがあります。 DataContextType、DataContextPropertyName、およびForeignKeyColumnNamesの値はnullです。私は本当に参考のために適切に
FormViewコントロールにメタテーブルを設定したいと思います:下の画像からコードが
public partial class Default_InsertEntityTemplate : System.Web.DynamicData.EntityTemplateUserControl {
private MetaColumn currentColumn;
protected override void OnLoad(EventArgs e) {
foreach (MetaColumn column in Table.GetScaffoldColumns(Mode, ContainerType)) {
currentColumn = column;
Control item = new DefaultEntityTemplate._NamingContainer();
EntityTemplate1.ItemTemplate.InstantiateIn(item);
EntityTemplate1.Controls.Add(item);
}
}
...