Was ist der einfachste (richtige) Weg in ASP.NET MVC 2 einen Button-Klick-Anzeigetext zu machen?

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

Frage

Ich brauche eine schnelle Demo zu machen, die zeigen, wie zu tun, Interaktivität auf einer ASP.NET MVC-Seite .

Ich öffnete ein ASP.NET MVC-Projekt in Visual Studio 2010, legte die Ansicht im Entwurfsmodus in einer Schaltfläche gezogen, doppelgeklickt auf sie und der Aussicht sah wieder. Ich hatte erwartet, einige geniale JQuery-Code generiert, um zu sehen, sondern einen <asp:Button> und einen <script runat="server"> Block wurde geschaffen, die ein zu sein scheint das Mischen von klassischen ASP.NET und ASP.NET MVC Metaphern . Ich glaube nicht, dass der empfohlene Weg zu bauen Interaktivität in MVC, nicht wahr?

Was ist die einfachste, die meisten Standard-MVC-Ansatz für mich (1) Erstellen Sie eine Schaltfläche, (2), wenn die Schaltfläche geklickt wird, einen Text meiner Meinung nach ändern?

  • ist es wirklich am beste Praxis in MVC den runat-Server-Block zu verwenden?
  • gibt es einige einfache Assistenten, die JQuery Interaktivität erzeugen, so dass ich dies in einer Best-Practice-MVC Weise tun kann?
  • oder muss ich die JQuery mich als würde ich auf einem einfachen HTML-Seite ohne ASP.NET MVC implementieren?

Ausblick:

<%@ 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>
War es hilfreich?

Lösung

Sie sollten nicht asp.net Ajax-Steuerelemente in asp.net MVC verwenden. Wenn Sie auf eine Schaltfläche erstellen möchten, schreiben Sie einfach etwas altmodischen html wie:

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

dann, wenn Sie auf diese Schaltfläche, müssen einige Maßnahmen machen, nur neue Aktion schreiben, statt Code hinter Methode wie und nennen Sie es wie:

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

oder sogar schaffen besser einen Link statt Taste durch mvc mit builded-in HTML-Helfer:

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

Schneller fangen Sie es besser für Sie. Sie müssen von asp.net Ajax Gewohnheit zurückzutreten. Es gibt kein Postbacks oder Code hinter und es ist mit einem Grunde entfernt. MVC wird von ausgeführten Aktionen gesteuert, was bedeutet, dass Sie die Anwendung sind Lenkung durch bestimmte Links aufrufen. Durch die Verwendung von reinen HTML Sie haben viel mehr Kontrolle über Ihren Ausgangscode bekommen und Ablauf von Aktionen in Ihrer Anwendung.

Beachten Sie, dass MVC kein neues ASP.NET AJAX ist und die beiden Willen geht zusammen, so dass, wenn diese Art des Schreibens wir apps nicht zu Ihnen passt, dann brauchen Sie nicht, es zu benutzen. Es ist nur die metter der Wahl, welche Technologie besser für Sie und Ihre Projekte.

Auch mehr über mvc Besuch erfahren asp.net Mvc Webseite . Ich Ihnen besonders empfehlen einige Videos wie

scroll top