爲了在提交表格後添加自定義的程序,並根據此過程更改用戶的旅程,你必須做到以下幾點:
創建一個新的控制器和UmbracoFormsController
繼承和覆蓋OnFormHandled
方法
public class CustomUmbracoFormsController : UmbracoFormsController
{
protected override void OnFormHandled(Form form, FormViewModel model)
{
// Find the field in the form, then search for a matching value
var field = form.AllFields.FirstOrDefault(x => x.Alias == "deliveryOptions");
var fieldValue = model.FormState[field.Id.ToString()].GetValue(0).ToString();
// Add the value to the TempData
TempData["deliveryOptions"] = fieldValue;
}
}
以上是一個基本的實現,不佔空
更新的參考UmbracoFormsController
在/Views/Partials/Forms/Form.cshtml
與您的新控制器從上面。
...
@using (Html.BeginUmbracoForm<CustomUmbracoFormsController>("HandleForm"))
...
在上面的例子中,我們分析了表單數據,並存儲在TempData
一些信息,我們可以設置重定向到一個通用的形式感謝你,我們可以分析值在TempData
並更改頁面查看用戶看到的內容。
此外,如果您要更改表單值以及要更新的內容,您需要記錄指導,您可以從TempData["Forms_Current_Record_id"]
中檢索到該指導,並結合新的RecordStore
對象。