我是Kentico的新手。我使用的版本是8.2。
我有一张表格说ProductForm。
有5个字段(WeekDay,TimeFrame,ID等),其中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);
但它们都不起作用。 我检查了数据库表,发现旁边的这两个字段,其他字段都有值。
我花了半天时间在这个上面,但无法理解。
请帮忙。
谢谢。
更新
这是我在我的小部件上使用的BizForm:
<cms:BizForm runat="server" ID="bfCallBack" SiteName="MySite" FormName="CallBack" OnOnAfterSave="bfCallBack_OnAfterSave" OnOnBeforeSave="bfCallBack_OnBeforeSave"></cms:BizForm>
答案 0 :(得分:2)
尝试:
bfCallBack.Data.SetValue("StartDate", startTime)