Какой самый простой (правильный) способ в ASP.NET MVC 2, чтобы сделать кнопку-клик отображения текста?

StackOverflow https://stackoverflow.com/questions/3458170

Вопрос

Мне нужно быстро демонстрировать, как сделать интерактивность на странице MVC ASP.NET MVC.

Я открыл проект ASP.NET MVC в Visual Studio 2010, поставьте представление в режиме дизайна, перетаскиваем в кнопку, дважды щелкнув на нем и снова посмотрели на вид. Я ожидал увидеть какой-то гениальный код jQuery, созданный, но вместо <asp:Button> и а <script runat="server"> Блок был создан, что, кажется, Смешивание классических метафоров MVC ASP.NET и ASP.NET MVC. Отказ Я не думаю, что это рекомендуемый способ создавать интерактивность в MVC, верно?

Итак, какой самый простой, самый просторный подход MVC для меня до (1) создать кнопку, (2), когда кнопка нажала, измените текст на мой взгляд?

  • Это действительно лучшая практика в MVC для использования блока Runat-Server?
  • Есть ли несколько простых волшебников, которые генерируют интерактивность jQuery, чтобы я мог сделать это в лучшем опыте MVC?
  • Или мне нужно для реализации jQuery самого себя, так как я бы на простой HTML-странице без ASP.NET MVC?

Вид:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {

    }
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <form id="form1" runat="server">
    <h2><%: ViewData["Message"] %></h2>
    <p>

        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

    </p>
    </form>
</asp:Content>
Это было полезно?

Решение

Вы не должны использовать ASP.NET Ajax Controls в ASP.NET MVC. Если вы хотите создать кнопку, просто напишите старомодный HTML, как:

<input type="button">Button</input>

Тогда, если вам нужна эта кнопка, чтобы сделать некоторое действие, просто напишите новое действие вместо кода за методом, как и называйте его как:

<input type="button" onclick="javascript:window.location = 'http://mypage.com/mycontroller/buttonaction' />

Или еще лучше создать ссылку вместо кнопки, используя MVC, встроенные в HTML помощники:

<%= Html.ActionLink("Do something" ,"ButtonAction") %>

Быстрее, вы поймаете его лучше для вас. Вам нужно уйти в отставку от привычки ASP.NET AJAX. Нет обратной передачи или кода, и он удален по причине. MVC контролируется выполненными действиями, что означает, что вы рулегируете приложение, вызывая указанные ссылки. Используя Pure HTML, у вас есть гораздо больше контроля в вашем выходе и потоку действий в вашем приложении.

Помните, что MVC не является новым ASP.NET AJAX, а те два будут состоится вместе, поэтому, если этот стиль письма мы приложения не подходит вам, то вам не нужно его использовать. Это всего лишь изменение выбора, к какой технологии лучше для вас и ваших проектов.

Также, чтобы узнать больше о посещении MVC asp.net mvc webpage.. Отказ Я специально рекомендовал вас, чтобы увидеть некоторые видео, как Вот этот. Отказ Это определенно поможет вам лучше понять, что такое MVC и каковы преимущества и недостатки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top