외래 키에 대한 드롭 다운이있는 기본 삽입 양식을 비계하고 싶습니다.EF 소스에서 웹 응용 프로그램의 Scaffold 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.
웹 응용 프로그램의 Default_Insert.aspx.cs 렌더링과 템플릿의 기본 DynamicData 웹 사이트를 비교 한 스크린 샷을 첨부했습니다. 아래 그림에서 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);
}
}
...