0

MVC-3 アプリケーションを作成しました (作成すると、既に開発されているログイン画面が表示されます)。また、ツールボックスにある HTML コンポーネントを使用してテキスト ボックスやラベルなどを作成しましたが、ツールボックスにある標準コンポーネントを使用したいと考えています。これらの HTML コンポーネントを標準コンポーネントに置き換えるにはどうすればよいですか?

ユーザーが [ログイン] ボタンをクリックすると、提供されているデフォルトのサンプル アプリケーションでユーザー名とパスワードが認証されます。機能を変更したくありませんが、フォーム コンポーネントをツールボックスにある標準コンポーネントに変更したいだけです。

これどうやってするの ?

<% using (Html.BeginForm()) { %>
    <%: Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") %>
    <div>
        <fieldset>
            <legend>Account Information</legend>

            <div class="editor-label">
                <%: Html.LabelFor(m => m.UserName) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(m => m.UserName) %>
                <%: Html.ValidationMessageFor(m => m.UserName) %>
            </div>

            <div class="editor-label">
                <%: Html.LabelFor(m => m.Password) %>
            </div>
            <div class="editor-field">
                <%: Html.PasswordFor(m => m.Password) %>
                <%: Html.ValidationMessageFor(m => m.Password) %>
            </div>

            <div class="editor-label">
                <%: Html.CheckBoxFor(m => m.RememberMe) %>
                <%: Html.LabelFor(m => m.RememberMe) %>
            </div>

            <p>
                <input type="submit" value="Log On" />
            </p>
        </fieldset>
    </div>
<% } %>
4

2 に答える 2

1

これらについて話しているのですか:

<%: Html.TextBoxFor(m => m.UserName) %>
<%: Html.ValidationMessageFor(m => m.UserName) %>

これらは Html ヘルパーと呼ばれます。これらは asp.net mvc で使用され、mvc モデル バインダーとうまく連携する html を生成します。それらをプレーンなhtmlに置き換えたい場合は、いつでもソースを表示し、レンダリングされたhtmlが何であるかを確認して、その場所に貼り付けることができますが、個人的には要点がわかりません. これでは何も良いことはありません。

しかし、これは上記の 2 行がレンダリングするものです。

<input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span>
于 2013-02-12T22:03:57.513 に答える
0

標準コントロールと言うときに ASP.NET サーバー サイド コントロールを意味する場合は、少なくとも MVC を使用しないことを意味することはできません。その理由は、リンゴとバナナを混ぜ合わせるようなもので、Web フォームまたはMVC を選択した場合は、ボタンが含まれているフォームがクリックされたときに呼び出される特定のアクションのコントローラーにロジックを配置する必要がありますが、したくない場合は、プレーンな古い aspx を使用してください。ページはサーバー側のコントロールを追加し、ボタンのクリックイベントにロジックを配置しますが、意味のないMVCとWebFormsを混在させることはできません(私はこれを良い意味で言っています:))それらは異なるパラダイムです.

于 2013-02-12T21:58:46.763 に答える