Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 亚音速:覆盖脚手架_C#_Asp.net_Subsonic - Fatal编程技术网

C# 亚音速:覆盖脚手架

C# 亚音速:覆盖脚手架,c#,asp.net,subsonic,C#,Asp.net,Subsonic,有人能建议我在亚音速2内扩展开箱即用脚手架吗 当用户单击Save(保存)按钮触发btnSave_Click void时,我希望根据他们刚刚更新的记录执行另一个存储过程 最好的方法是什么?非常感谢。从我在《亚音速2》源代码中看到的情况来看,当您触发btnSave_单击时,没有其他可以调用的函数 因此,您需要修改源代码并重新创建亚音速2 dll(这非常容易) 因此,如果修改源代码,只需放置一个在保存后运行的函数,然后在代码上用调用覆盖该函数 /// <summary> /

有人能建议我在亚音速2内扩展开箱即用脚手架吗

当用户单击Save(保存)按钮触发btnSave_Click void时,我希望根据他们刚刚更新的记录执行另一个存储过程


最好的方法是什么?非常感谢。

从我在《亚音速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);
}
保存后的公共虚拟无效()
{
}