Какой самый простой (правильный) способ в ASP.NET MVC 2, чтобы сделать кнопку-клик отображения текста?
-
27-09-2019 - |
Вопрос
Мне нужно быстро демонстрировать, как сделать интерактивность на странице 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 и каковы преимущества и недостатки.