C# 亚音速:覆盖脚手架
有人能建议我在亚音速2内扩展开箱即用脚手架吗 当用户单击Save(保存)按钮触发btnSave_Click void时,我希望根据他们刚刚更新的记录执行另一个存储过程C# 亚音速:覆盖脚手架,c#,asp.net,subsonic,C#,Asp.net,Subsonic,有人能建议我在亚音速2内扩展开箱即用脚手架吗 当用户单击Save(保存)按钮触发btnSave_Click void时,我希望根据他们刚刚更新的记录执行另一个存储过程 最好的方法是什么?非常感谢。从我在《亚音速2》源代码中看到的情况来看,当您触发btnSave_单击时,没有其他可以调用的函数 因此,您需要修改源代码并重新创建亚音速2 dll(这非常容易) 因此,如果修改源代码,只需放置一个在保存后运行的函数,然后在代码上用调用覆盖该函数 /// <summary> /
最好的方法是什么?非常感谢。从我在《亚音速2》源代码中看到的情况来看,当您触发btnSave_单击时,没有其他可以调用的函数 因此,您需要修改源代码并重新创建亚音速2 dll(这非常容易) 因此,如果修改源代码,只需放置一个在保存后运行的函数,然后在代码上用调用覆盖该函数
/// <summary>
/// Saves the editor.
/// </summary>
private void SaveEditor()
{
if(Mode == ScaffoldMode.Edit)
UpdateRecord(PrimaryKeyControlValue);
else
InsertRecord();
SaveManyToMany();
AfterTheSave();
if(ReturnOnSave)
BuildWithModeChange(ScaffoldMode.List);
}
public virtual void AfterTheSave()
{
}
//
///保存编辑器。
///
私有void保存编辑器()
{
if(Mode==ScaffoldMode.Edit)
更新记录(PrimaryKeyControlValue);
其他的
InsertRecord();
SaveManyToMany();
之后保存();
如果(返回保存)
BuildWithModeChange(ScaffoldMode.List);
}
保存后的公共虚拟无效()
{
}
从我在《亚音速2》源代码中看到的情况来看,当您触发btnSave_单击时,没有其他可以调用的函数
因此,您需要修改源代码并重新创建亚音速2 dll(这非常容易)
因此,如果修改源代码,只需放置一个在保存后运行的函数,然后在代码上用调用覆盖该函数
/// <summary>
/// Saves the editor.
/// </summary>
private void SaveEditor()
{
if(Mode == ScaffoldMode.Edit)
UpdateRecord(PrimaryKeyControlValue);
else
InsertRecord();
SaveManyToMany();
AfterTheSave();
if(ReturnOnSave)
BuildWithModeChange(ScaffoldMode.List);
}
public virtual void AfterTheSave()
{
}
//
///保存编辑器。
///
私有void保存编辑器()
{
if(Mode==ScaffoldMode.Edit)
更新记录(PrimaryKeyControlValue);
其他的
InsertRecord();
SaveManyToMany();
之后保存();
如果(返回保存)
BuildWithModeChange(ScaffoldMode.List);
}
保存后的公共虚拟无效()
{
}