Asp.Net 在窗体视图中使用默认值

本文关键字:默认值 视图 Net 窗体 Asp | 更新日期: 2023-09-27 18:34:48

我是实体框架和一般 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 窗体。如何在窗体视图中自动设置此值?

Asp.Net 在窗体视图中使用默认值

使用 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