2

我有一个 formview 控件,用于将数据上传到附加的 gridview 控制器。在我的 gridview 顶部,我使用 asp:linkbutton 将我的 formview 设置为插入模式

    FormView1.ChangeMode(FormViewMode.Insert);

这是我在表单视图的插入模板中的文本框:

    <asp:TextBox ID="Date_Position_AvailableTextBox" runat="server" Text='<%# Bind("Date_Position_Available") %>' />

这是我在 formLoad 中的代码。这是我相信我预填充文本框控件的值的地方:

     if (!IsPostBack)  
        {  
            FillDefaultVaueInFormView();  
        }

最后是我的 FillDefaultVaueInFormView(); 功能。

    public void FillDefaultVaueInFormView()
    {

        if (FormView1.CurrentMode == FormViewMode.Insert)
        {

            TextBox txtPositionAvailable = FormView1.FindControl("Date_Position_AvailableTextBox") as TextBox;
            if (txtPositionAvailable != null)
            {
                txtPositionAvailable.Text = DateTime.Now.ToShortDateString();
            }
        }
    } 

当我进入插入模式时,该字段为空白。我在这里做错了什么?!?

4

1 回答 1

0

FillDefaultValueInFormView()在将 FormView 设置为插入模式后,您需要立即移动。当您尝试在表单加载时填写字段时,文本框不存在(当您不处于插入或编辑模式时,“文本框”实际上是标签)。这导致您的if陈述返回错误,因此没有填充值。

于 2013-03-14T14:21:51.147 回答