WebForms模型绑定插入停止工作

时间:2015-04-12 19:46:34

标签: c# entity-framework-6 model-binding

我在EF6代码第一个项目上使用webforms模型绑定。我有一个完美的页面。它没有明显的理由停止了工作。不再调用insert方法。我有另一个插入页面,它仍然完美。有人知道会导致这种情况吗?

以下是它正在使用的一些标记。

 <asp:FormView runat="server" ID="fvTour"
        ItemType="CommonInterface.Tour" DefaultMode="Insert"
        InsertItemPosition="FirstItem" InsertMethod="InsertItem"
        OnItemCommand="ItemCommand" RenderOuterTable="false">

背后的代码

public void InsertItem()
    {
        using (_db)
        {
            FileUpload picUpload = (FileUpload)fvTour.FindControl("fuploadTour");
            if (picUpload == null || !picUpload.HasFile) return;

            var item = new CommonInterface.Tour();

            item.MemberID = (int)Session["MemberID"];
            item.FID = LoginBLL.GetFID(item.MemberID);
            item.TourSubmitDate = DateTime.Now;
            item.PID = null;
            item.TourState = ((DropDownList)fvTour.FindControl("ddlState")).SelectedItem.Text;
            item.TourCounty = ((DropDownList)fvTour.FindControl("ddlCounties")).SelectedItem.Text;
            item.TourLayout = ((DropDownList)fvTour.FindControl("ddlLayout")).SelectedItem.Text;
            item.TourType = ((DropDownList)fvTour.FindControl("ddlType")).SelectedItem.Text;



            TryUpdateModel(item);

            if (ModelState.IsValid)
            {
                // Save changes
                _db.Tours.Add(item);
                _db.SaveChanges();

                Response.Redirect("Default");
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

编辑2: 尝试使用OnItemCommand,看看是否有效。将OnItemCommand="ItemCommand"设置回标记,然后尝试以下代码:

public void ItemCommand(object sender, FormViewCommandEventArgs e)
{
    if (e.CommandName == "Insert")
    {
        InsertItem();
    }
}

确保您按下的按钮设置了CommandName="Insert"属性。 您应该至少可以在此方法上设置断点。然后你可以看到该按钮是否会触发一个事件。