ما هي الطريقة الأسهل (الصحيحة) في ASP.NET MVC 2 لعمل نص عرض النقر فوق زر؟

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

سؤال

أحتاج إلى عمل عرض سريع يوضح كيفية القيام به التفاعل على صفحة ASP.NET MVC.

لقد فتحت مشروع ASP.NET MVC في Visual Studio 2010 ، وضعت العرض في وضع التصميم ، وتم سحبه في زر ، وانقر نقرًا مزدوجًا عليه ونظر إلى العرض مرة أخرى. كنت أتوقع رؤية بعض كود jQuery المبدع تم إنشاؤه ولكن بدلاً من ذلك <asp:Button> و <script runat="server"> تم إنشاء الكتلة ، والتي يبدو أنها أ خلط الاستعارات الكلاسيكية ASP.NET و ASP.NET MVC. لا أعتقد أن هذه هي الطريقة الموصى بها لبناء التفاعل في MVC ، أليس كذلك؟

إذن ما هو أسهل وأكثر نهج MVC القياسي بالنسبة لي إلى (1) إنشاء زر ، (2) عند النقر فوق الزر ، قم بتغيير بعض النص في عرضي؟

  • هل هو حقا أفضل الممارسات في MVC لاستخدام كتلة خادم Runat؟
  • هل هناك بعض المعالجات السهلة التي تولد تفاعل 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 في ASP.NET MVC. إذا كنت ترغب في إنشاء زر ، فما عليك سوى اكتب بعض HTML من الطراز القديم مثل:

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

ثم إذا كنت بحاجة إلى هذا الزر لإجراء بعض الإجراءات ، فما عليك سوى كتابة إجراء جديد بدلاً من الكود وراء الطريقة مثل وتسميه مثل:

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

أو حتى أفضل إنشاء رابط بدلاً من الزر باستخدام مساعدي HTML التي تم إنشاءها في MVC:

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

أسرع يمكنك التقاطها بشكل أفضل لك. تحتاج إلى الاستقالة من عادة ASP.NET AJAX. لا يوجد أي برامج أو رمز خلفه ويتم إزالته لسبب. يتم التحكم في MVC من خلال الإجراءات التي تم تنفيذه مما يعني أنك تقوم بتوجيه التطبيق عن طريق استدعاء الروابط المحددة. باستخدام HTML النقي ، حصلت على مزيد من التحكم في رمز الإخراج الخاص بك وتدفق الإجراءات في التطبيق الخاص بك.

تذكر أن MVC ليس A ASP.NET AJAX جديدًا وسيذهب هذان الشخصان معًا ، لذلك إذا كان هذا النمط من الكتابة ، فإننا لا يناسبك ، فأنت لا تحتاج إلى استخدامه. إنه مجرد Metter المفضل أي التكنولوجيا الأفضل لك ولشاريعك.

أيضا لمعرفة المزيد عن زيارة MVC صفحة الويب ASP.NET MVC. أوصيك بشكل خاص لمشاهدة بعض مقاطع الفيديو مثل هذا. سيساعدك بالتأكيد على فهم ماهية MVC بشكل أفضل وما هي المزايا والعيوب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top