質問

やり方を示す簡単なデモをする必要があります ASP.NET MVCページでのインタラクティブ性.

Visual Studio 2010でASP.NET MVCプロジェクトを開き、ビューをデザインモードに入れ、ボタンにドラッグし、ダブルクリックしてビューをもう一度見ました。私はいくつかの独創的なjQueryコードが生成されたのを見ることを期待していましたが、代わりに <asp:Button> そしてa <script runat="server"> ブロックが作成されました 古典的なASP.NETおよびASP.NET MVCメタファーの混合. 。それがMVCでインタラクティブ性を構築するための推奨される方法ではないと思いますよね?

では、(1)ボタンを作成するための最も簡単で標準的なMVCアプローチは何ですか(2)ボタンをクリックしたら、私のビューでテキストを変更しますか?

  • Runat-Serverブロックを使用することは、MVCで本当にベストプラクティスですか?
  • jQueryの対話性を生成する簡単なウィザードはあります。
  • または、ASP.NET MVCなしでプレーンHTMLページでJQueryを自分で実装する必要がありますか?

意見:

<%@ 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 MVCでASP.NET AJAXコントロールを使用しないでください。ボタンを作成する場合は、次のような昔ながらの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は実行されたアクションによって制御されます。つまり、指定されたリンクを呼び出すことにより、アプリケーションを操縦します。純粋なHTMLを使用することで、出力コードとアプリケーションのアクションの流れをより多くの制御を得ることができます。

MVCは新しいASP.NET AJAXではなく、これら2つが一緒になることを忘れないでください。したがって、このスタイルの執筆アプリがあなたに合っていない場合、使用する必要はありません。あなたとあなたのプロジェクトにとって、テクノロジーがどのテクノロジーが優れているかはただの選択肢です。

また、MVC訪問の詳細についてもご覧ください ASP.NET MVC Webページ. 。私は特別にあなたにいくつかのようなビデオを見ることをお勧めします これです. 。それは間違いなく、MVCが何であり、それが利点と不利な点とは何かをよりよく理解するのに役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top