使用FormView插入

发布于 2024-08-09 22:39:53 字数 275 浏览 13 评论 0原文

我有一个 formview 控件,在 ItemCreated 事件中,我用默认值“启动”一些字段。

但是,当我尝试使用 formview 进行插入时,在调用 ItemInserting 事件之前,由于某种原因它首先调用 ItemCreated 。这会导致在插入发生之前字段被默认值覆盖。

如何让它在 ItemInserting 事件之前不调用 ItemCreated 事件?

I have a formview control, and on the ItemCreated event, I am "priming" some of the fields with default values.

However, when I try to use the formview to insert, before the ItemInserting event gets called, for some reason it calls ItemCreated first. That results in the fields being over-written with the default values right before the insert happens.

How do I get it to not call the ItemCreated event before the ItemInserting event?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昨迟人 2024-08-16 22:39:53

您需要使用 formview Databound 事件而不是 formview ItemCreated 事件来设置值,尝试像

protected void frm_DataBound(object sender, EventArgs e)
{
    if (frm.CurrentMode == FormViewMode.Edit)//whatever your mode here is.
    {
        TextBox txtYourTextBox = (TextBox)frm.FindControl("txtYourTextBox");
        txtYourTextBox.Text// you can set here your Default value
    }
}

也检查类似问题的这个线程
FormView_Load 被覆盖 C# ASP.NET

you need to use formview Databound event instead of formview ItemCreated event to set values, try like

protected void frm_DataBound(object sender, EventArgs e)
{
    if (frm.CurrentMode == FormViewMode.Edit)//whatever your mode here is.
    {
        TextBox txtYourTextBox = (TextBox)frm.FindControl("txtYourTextBox");
        txtYourTextBox.Text// you can set here your Default value
    }
}

Also check this thread of similare issue
FormView_Load being overwritten C# ASP.NET

一身仙ぐ女味 2024-08-16 22:39:53

您无法更改事件触发的顺序。但是,您可能应该将设置默认值的代码包装在 !IsPostBack 中,这样它就不会重置您的值,例如:

protected void FormView_ItemCreated(Object sender, EventArgs e)
{
  if(!IsPostBack)
  {
    //Set default values ...
  }
}

You cannot change the order in which the events fire. However, you should probably wrap the code that sets the default values inside !IsPostBack so that it doesn't reset your values for example:

protected void FormView_ItemCreated(Object sender, EventArgs e)
{
  if(!IsPostBack)
  {
    //Set default values ...
  }
}
唐婉 2024-08-16 22:39:53

尝试检查 CurrentMode 属性。

void FormView_ItemCreated(object sender, EventArgs e)
{
    if (FormView.CurrentMode != FormViewMode.Insert)
    {
        //Initialize your default values here
    }
}

Try checking the CurrentMode property of the form view.

void FormView_ItemCreated(object sender, EventArgs e)
{
    if (FormView.CurrentMode != FormViewMode.Insert)
    {
        //Initialize your default values here
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文