1

従業員に割り当てられる WorkOrder というエンティティがあります。

作業指示書が割り当てられたときに電子メール通知を送信したい。これは、MVC の作成または編集アクション (POST) で発生する可能性があります。

私が抱えている問題は、編集で値が変更されたかどうかを確認して、メールを送信する必要があるかどうかを確認する必要があることです。

エンティティ モデル自体のように、SendEmail 関数を呼び出すのに適した場所はありますか?

4

1 に答える 1

2

ビューからの投稿について話している場合は、ビューをロードするときに、既存の値を作成してフォームの非表示フィールドにバインドできます。次に、アクションへの POST で、フィールドの値が隠しフィールドの値と異なるかどうかを確認できます。

ビューの例:

@using (Html.BeginForm("MyAction", "MyController")
{
    @Html.HiddenFor(m => m.CurrentValue)
    @Html.TextBoxFor(m => m.Value)
    <input type="submit" value="submit" />
}

アクションGETの例

public ActionResult MyAction()
{
    var viewModel = GetModelFromSomeWhere();
    viewModel.CurrentValue = viewModel.Value;
    return this.View(viewModel);
}

アクション POST の例

[HttpPost]
public ActionResult MyAction(ViewModel model)
{
    if (model.Value != model.CurrentValue)
    {
        // It has changed! Send that email!
    }
}
于 2013-05-23T20:00:45.903 に答える