我是Kentico的新手。我使用的版本是8.2。
我有一个说ProductForm的表格。
有5个字段(WeekDay,TimeFrame,ID等),这5个字段中的2个对用户不可见,而仅存在于数据库表中(StartDate和EndDate)。
StartDate和EndDate取决于所选的WeekDay和TimeFrame。
现在,我的问题是:保存数据之前,我必须准备StartDate和EndDate的值。
protected void bfCallBack_OnBeforeSave(object sender, EventArgs e)
{
var topic = this.ddlTopic.SelectedValue;
SetValue("Topic", topic);
// Set the StartDate and EndDate
........
#endregion Time Part
#region Date Part
........
#endregion Date Part
var start = this.bfCallBack.FormInformation.GetFormField("StartDate");
start.SetValue("StartDate", startTime);
var end = this.bfCallBack.FormInformation.GetFormField("EndDate");
end.SetValue("EndDate", startTime);
}
我尝试了两种方法将值设置为这两个字段:
方法1:
var start = this.bfCallBack.FormInformation.GetFormField("StartDate");
start.SetValue("StartDate", startTime);
方法2:
SetValue("StartDate", startTime);
但是它们都不起作用。我检查了数据库表,发现在这2个字段旁边,其他所有字段都具有值。
这是我在小部件上使用的BizForm:
<cms:BizForm runat="server" ID="bfCallBack" SiteName="MySite" FormName="CallBack" OnOnAfterSave="bfCallBack_OnAfterSave" OnOnBeforeSave="bfCallBack_OnBeforeSave"></cms:BizForm>
尝试:
bfCallBack.Data.SetValue("StartDate", startTime)