2013-10-11 31 views
0

我是新來的實體框架和Asp.Net一般,我想弄清楚如何設置一個特定的字段到FormView的默認值。這是基本的代碼:Asp.Net在FormView中使用默認值

<asp:FormView runat="server" ID="addObjForm" 
    ItemType="MySpace.Models.Obj" 
    InsertMethod="insertObj" DefaultMode="Insert" 
    RenderOuterTable="false" OnItemInserted="obj_ItemInserted"> 
    <InsertItemTemplate> 
     <fieldset> 
      <ol> 
       <asp:DynamicEntity ID="DynamicEntity1" runat="server" Mode="Insert" /> 
      </ol> 
      <asp:Button ID="Button1" runat="server" Text="Insert" CommandName="Insert" /> 
      <asp:Button ID="Button2" runat="server" Text="Cancel" CausesValidation="false" OnClick="cancelButton_Click" /> 
     </fieldset> 
    </InsertItemTemplate> 
</asp:FormView> 

而後面的代碼:

public void insertObj() 
    { 
     var item = new Obj(); 
     TryUpdateModel(item); 
     if (ModelState.IsValid) 
     { 
      using (WebContext db = new WebContext()) 
      { 
       db.Objects.Add(item); 
       db.SaveChanges(); 
      } 
     } 
    } 

比方說,我要插入數據的子對象的引用其父親外鍵,我通過這個外鍵通過GET的網頁表單。如何自動將此值設置到FormView中?

回答

0

使用ItemCreated事件

protected void addObjForm_ItemCreated(object sender, EventArgs e) 
{ 
    if (addObjForm.CurrentMode == FormViewMode.Insert) 
    { 
     // Set your default value here by the below sample ways 
    } 
} 

sample 1

sample 2

+0

謝謝你的建議,但如果我的領域是動態生成的,我不知道我想要的字段的ID設置? –

+1

無論如何,這在手動創建字段時有效。謝謝! –