여기에 따르지만 가정 모든 컨트롤은 하나 개의 폼 요소 내부에서 발생하는 다음 코드를
<div class="user_login">
<label>Email/Username</label>
@Html.TextBoxFor(model => model.Email)
<br />
<label>Password</label>
@Html.TextBoxFor(model => model.Password)
<br />
<div class="action_btns">
<div class="one_half"><a href="#" class="btn back_btn"><i class="fa fa-angle-double-left"></i>Back</a>
</div>
<div class="one_half last">
<input type="submit" style="border: none" name="action" class="btn btn_red" value="Login" />
</div>
</div>
<a href="#" class="forgot_password">Forgot password?</a>
</div>
<div class="user_register">
<label>Full Name</label>
@Html.TextBoxFor(model => model.First_Name)<br />
<label>Email Address</label>
@Html.TextBox(model=>model.Email)<br />
<label>User Name</label>
@Html.TextBoxFor(model => model.User_Name)<br />
<label>Password</label>
@Html.TextBox(model=>model.Password") <br />
</div>
을 가지고, 모든 컨트롤은 다시하지 않는 한 게시 할 예정입니다 입력을 비활성화합니다. 그렇다면 name="Email"
의 첫 번째 입력이 바인딩되고 두 번째 입력은 DefaultModelBinder
에 의해 무시됩니다. (첫 번째 것은 숨겨져 있기 때문에 그 값은 아마도 비어있을 것입니다). 스크립트는 예를 들어, 로그인 섹션에서이 개 입력을 사용할 수 있는지 확인해야합니다
@Html.TextBoxFor(model => model.Email, new { id = "login-email" })
및
$('#login-email').prop('disabled', true);
참고 id
속성 올바른 하나를 선택 (방지 할 수 있도록 중복 된 아이디의 어떤 잘못된 HTML은.
대안 2 별도의 양식을 만들 것입니다.
감사합니다. 내가 시도 두 번째 방법이며 일했다. 또한하려고합니다 첫 번째 작업을 수행하십시오. 다시 한번 감사드립니다. – Shaik
두 번째 옵션을 사용한다면 두 가지 별도의 post 메소드를 제안하고'form' 태그로 지정할 것입니다 -'@using (Html.BeginForm ("LogIn", "Account")) {'와'@using (Html.BeginForm ("등록", "계정")) {'. 하지만 실제로는 별도의 액션이고 별도의 로직을 가질 수 있기 때문에 두 개의 모델, 메소드 및 뷰가 별도로 있어야합니다 (예 : 레지스터 액션에는'[Compare]'속성이있는 ConfirmPassword 속성이 있어야합니다.) –
감사합니다. 너무 친절 – Shaik