0

ログイン画面と登録画面が異なるcshtmlファイルにあるというこの問題が発生していますが、登録ビューは@Html.Partialと呼ばれています。ログイン画面のコードは次のとおりです。

        <div class="panelLogIn left @if (ViewBag.register) { Write("hidden"); }">
        @using (Html.BeginForm()) {
            <div>
                <div class="validationMessage" style="padding-bottom:10px;">@Html.ValidationMessage("loginFailed")</div>
                <div class="field">
                    <span class="textOverField absolute em1-2" style="top:6px;left:4px;">User</span>
                    @Html.TextBoxFor(a => a.UserName, new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.UserName)</div>
                </div>
                <div class="field relative">
                    <span class="textOverField absolute em1-2" style="top:6px;left:4px;">Password</span>
                    @Html.PasswordFor(a => a.Password, new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.Password)</div>
                </div>
                <div class="em0-9" style="margin-bottom: 20px;">
                    <input class="submitButton cursorHand" style="margin-top: 10px;" type="submit" value="Enter" />
                </div>
                <div class="em0-9">
                    <span class="guestLink bold linkBlue underline cursorHand">Register Free</span>
                </div>
            </div>
        }
        </div>
        <div class="panelGuest left @if (!ViewBag.register) { Write("hidden"); }">
            @Html.Partial("RegisterUser", Model.NewUser)
        </div>

また、登録ビューは次のとおりです。

@using (Html.BeginForm("Register", "Account"))
{
       /* The text boxes and form elements */


    <div class="em0-9" style="margin-bottom:20px;">
        <input class="submitButton cursorHand" style="margin-top:10px;" type="submit" value="Register" />
    </div>
}

基本的に、問題は、新しいユーザーを登録しようとすると、localhost / Account / Registerにリダイレクトされ、ログイン画面(同じビューにあります)に戻ると、他のアクションを呼び出すことができないことです。レジスター1から。

これに関するどんな助けも大いに感謝されるでしょう。

4

2 に答える 2

1

パーシャルで行ったように、最初のHtmlフォームのアクションを完全に指定してみてください。

@using (Html.BeginForm("Index", "Account")) {
    //
}
于 2012-07-31T20:23:46.443 に答える
0

おそらく、resgisterについては別の見方をする必要があります。ログインボックス(ユーザー名/パスワードフィールド)と新しいユーザー登録フィールドを含む1つのビューがあるようです。

ただし、レジスタビューは@Html.Partialとして呼び出されます。

Webフォームプログラミングモデルのユーザーコントロールに精通している場合、Htmlパーシャルはユーザーコントロールにいくらか似ています。

したがって、ログイン画面のコードは

<div class="panelLogIn left @if (ViewBag.register) { Write("hidden"); }">
        @using (Html.BeginForm()) {
            <div>
                <div class="validationMessage" style="padding-bottom:10px;">@Html.ValidationMessage("loginFailed")</div>
                <div class="field">
                    <span class="textOverField absolute em1-2" style="top:6px;left:4px;">User</span>
                    @Html.TextBoxFor(a => a.UserName, new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.UserName)</div>
                </div>
                <div class="field relative">
                    <span class="textOverField absolute em1-2" style="top:6px;left:4px;">Password</span>
                    @Html.PasswordFor(a => a.Password, new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.Password)</div>
                </div>
                <div class="em0-9" style="margin-bottom: 20px;">
                    <input class="submitButton cursorHand" style="margin-top: 10px;" type="submit" value="Enter" />
                </div>
                <div class="em0-9">
                    <span class="guestLink bold linkBlue underline cursorHand">Register Free</span>
                </div>
            </div>
        }
        </div>

レジスターの部分を含めることができる別のレジスタービューを持つことができます。

お役に立てれば。

于 2012-07-31T20:23:02.400 に答える