Как сгенерировать html ajax.form в codebehind
Я пытаюсь создать собственный компонент.NET MVC DataGrid. Компонент является расширением HTML и AJAX-свойства WebViewPage.
Компонент имеет несколько аргументов - данные, основные настройки (такие как стили CSS, строки на странице, сортировка и т. Д.).
Некоторые первые столбцы представляют собой "Столбцы действий" со ссылками для редактирования записи или отображения подробностей записи.
К сожалению, мне нужно в этом компоненте действие с AjaxForm. В шаблоне бритвы это так:
<td class="text-center">
@using (Ajax.BeginForm("ChangeUserPasswod", "User", new {userId = usr.Id}, new AjaxOptions
{
AllowCache = false,
InsertionMode = InsertionMode.ReplaceWith,
UpdateTargetId = "alertPanel",
HttpMethod = "POST",
OnComplete = "ajaxFormComplete"
}, null))
{
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-link btn-sm">
<span title="Change Password" class="glyphicon glyphicon-eye-close"></span>
</button>
}
</td>
Итак, у меня есть этот код переписать на C#. Мои расширения имеют такой интерфейс:
public static IHtmlString GridView<T>(this HtmlHelper html,
IEnumerable<T> dataCollection,
IEnumerable<MyGridViewRowAction> actions,
MyGridViewSettings tableSetting)
where T : class
{
...
}
Для получения экземпляра Ajax я использую это:
WebViewPage webViewPage = (WebViewPage)html.ViewDataContainer;
MvcForm x = webViewPage.Ajax.BeginForm(myAjaxOption);
Visual Studio и ReSharper показывают мне, что я "не могу разрешить действие"... Я не могу получить форму HTML - пустую или с кнопкой
Есть ли способ, как получить HTML-код AJAX формы в коде позади? Спасибо за совет