Как использовать System.Web.UI.WebControls.Button в ASP.NET MVC 3 - PullRequest
2 голосов
/ 02 марта 2012

Я хочу создать пользовательские элементы управления в ASP.NET MVC 3. Я хочу создать кнопку, которой я могу передавать различные параметры, такие как имя класса CSS и т. Однако я хочу иметь возможность отслеживать события, такие как onClick или onHover ...

Как я могу это сделать? Пожалуйста, я застрял с этим.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Серверные элементы управления и события больше не существуют в ASP.NET MVC.Если вы хотите отслеживать такие события, как oncilck и onhover, вы можете использовать javascript.Также вы можете использовать HTML-помощники.Просто забудьте о пространстве имен System.Web.UI в приложении ASP.NET MVC.

1 голос
/ 02 марта 2012

Вы можете создать HtmlHelper, например:

public static class Helpers {
    public static MvcHtmlString Button(this HtmlHelper html, string id, string url) {
        var builder = new TagBuilder("a");

        builder.MergeAttribute("href", url);
        builder.MergeAttribute("id", id);
        builder.AddCssClass("custom-button");

        return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal));
    }
}

В представлении:

@Html.Button("CustomButton", "http://localhost")

JS с использованием JQuery:

$(function() {
    $(".custom-button").click(function() {
        // This will handle all the click events of the buttons
    });

    $("#CustomButton").click(function() {
        // This will handle the click event on the specific button
    });
});

Как сказал Дарин,больше нет пользовательских элементов управления, как в веб-формах asp.net, и, на мой взгляд, это очень хорошая вещь.

Так что приведенный выше код является способом создания «пользовательского элемента управления».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...