Qual è la (corretta) in modo più semplice ASP.NET MVC 2 per fare un testo visualizzazione dei pulsanti del mouse?

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

Domanda

Ho bisogno di fare una rapida demo che mostra come fare interattività in una pagina ASP.NET MVC .

Ho aperto un progetto ASP.NET MVC in Visual Studio 2010, ha messo la visualizzazione in modalità di progettazione, trascinato in un pulsante, fare doppio clic su di esso e guardato la vista di nuovo. Mi aspettavo di vedere qualche codice ingegnoso JQuery generato ma invece un <asp:Button> e un blocco <script runat="server"> è stato creato, che sembra essere un la miscelazione dei classici metafore ASP.NET MVC e ASP.NET . Non credo che è il metodo consigliato per costruire l'interattività in MVC, giusto?

Allora, qual è il più facile, la maggior parte approccio MVC standard per me (1) creare un pulsante, (2) quando il pulsante viene cliccato, modificare un testo a mio avviso?

  • è davvero le migliori pratiche in MVC per utilizzare il blocco runat server?
  • ci sono alcune procedure guidate semplici che generano JQuery interattività modo che io possa fare questo in un best-practice modo MVC?
  • o ho bisogno di attuare il JQuery me stesso come lo farei in una pagina HTML puro senza ASP.NET MVC?

Visualizza:

<%@ 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>
È stato utile?

Soluzione

Non dovrebbe usare asp.net ajax controlli in asp.net MVC. Se si desidera creare un pulsante basta scrivere un po 'di vecchio stile HTML come:

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

quindi se avete bisogno di questo pulsante per fare qualche azione, basta scrivere nuova azione, invece di codice dietro metodo come e chiamarlo come:

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

o meglio ancora creare un collegamento al posto del pulsante utilizzando MVC builded-in html aiutanti:

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

Più veloce si cattura è meglio per voi. Hai bisogno di dimettersi dal abitudine asp.net ajax. Non v'è alcun postback o codice dietro ed è rimosso con una ragione. MVC è controllato da azioni eseguite il che significa che si sta dirigendo l'applicazione chiamando collegamenti specificati. Utilizzando HTML puro hai molto più controllo sul vostro codice portate e dei flussi di azioni nell'applicazione.

Ricordate che MVC non è un nuovo ASP.NET AJAX e quei due volontà va di pari passo, quindi se questo stile di scrittura abbiamo Apps non vi si addice, allora non c'è bisogno di usarlo. E 'solo la Metter di scelta che la tecnologia è meglio per voi ei vostri progetti.

Sono disponibili ulteriori informazioni sulla visita MVC asp.net mvc pagina web . Io specialmente si raccomando di vedere alcuni video come questo . Sarà sicuramente aiuterà a capire meglio ciò che MVC è e quali sono i suoi vantaggi e svantaggi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top