0

一般来说,我是 Entity Framework 和 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 将此外键传递给 Web 表单。如何自动将此值设置到 FormView 中?

4

1 回答 1

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 
    }
}

样品 1

样品 2

于 2013-10-11T08:22:36.200 回答