Как сгенерировать 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 формы в коде позади? Спасибо за совет

0 ответов

Другие вопросы по тегам