【发布时间】:2015-06-16 12:08:17
【问题描述】:
我正在开发一个 Kentico Webforms 项目,我的要求是提供一个模式窗口,允许我们更新父控件中的值。
进行选择时,父控件设置了一个静态回调函数,该函数是从模态执行的。回调在返回并设置正确值的模式形式内执行。我在更新的控件上调用 DataBind() 但值没有更新,如果我设置了 DataBinding 回调它不会执行
//Static container for call back reference
public static class CallbackContainer
{
public static Action<string> Callback { get; set; }
}
家长控制
protected override void OnPreRender(EventArgs e)
{
//Set callback
CallbackContainer.Callback = id => Value = id;
txtOrgName.DataBinding += (sender, args) =>
{
//Never executes
Debugger.Break();
};
}
public override object Value
{
get
{
return txtOrgName.Text;
}
set
{
txtOrgName.Text = value.ToString();
txtOrgName.DataBind();
Page.DataBind();
DataBind();
}
}
模态形式
//Executed on selection
protected void userGrid_OnAction(string actionName, object actionArgument)
{
//Callback passing selected value
CallbackContainer.Callback(actionArgument.ToString());
}
有什么想法吗??
【问题讨论】:
-
请同时提供 aspx 标记。
标签: c# asp.net data-binding webforms kentico