2011-03-08 4 views
0

뷰백을 사용하여 모델에 데이터를 전달하는 데 어려움을 겪고 있습니다.뷰백에서 CSHTML 모델로 데이터를 전달하는 방법

@model UCPBEscheatment.Models.aspnet_Membership 
@{ 
    ViewBag.Title = "AnswerForgotPassword"; 
} 

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

@using (Html.BeginForm()) 
{ 
<em style="font-size:small">@Html.ValidationSummary(true, "Forgot Password was unsuccessful. Please correct the errors and try again.")</em> 
<fieldset style="background-color:#f0f0f0"> 
<legend> Forgot Password </legend> 
<br /> 
• Second step: <em style="color:Teal"> Answer your secret question</em> 
<br /><br /> 
<b> Secret Question:</b> @ViewBag.question 
<br /><br /> 
<b> Secret Answer: </b>@Html.EditorFor(a => a.PasswordAnswer) 
<br /><br />   
@{ 

     INPUT CODE HERE TO PASS A VALUE TO THE MODEL USING VIEWBAG LIKE: 

    ex. 
     @MODEL.USERID = VIEWBAG.USERID 

} 
<input type="submit" value="Submit" /> 


</fieldset> 


} 
+0

무엇이 당신의 질문입니까? –

+0

내 질문은 어떻게 모델에 직접 값을 전달할 수 있습니다 My @ Model.PasswordAnswer = ViewBag.answer 내 모델에 변수를 명시 적으로 전달하거나 선언해야합니다. – sgolek

답변

2

그것은 그런 식으로 작동하지 않습니다 여기에

당신에게 계몽 몇 가지 예입니다. 게시물에 반환되는 모델에는 할당 할 수 없습니다. 양식의 URL에 사용자의 ID를 추가하고 URL의 ID를 사용하여 유효성이 검증 된 암호가 필요한 사용자를 찾는 것이 좋습니다.

@using (Html.BeginForm("validatepassword","account",new { id = ViewBag.UserID })) 
{ 
    ... 
} 

또는 더 나은 아직, 모델에 사용자 ID를 설정하고 ViewBag 대신에 거기에서 그것을 사용하지만, 여전히 다시 게시 할 URL에 사용할.

+0

OMG http://stackoverflow.com/users/12950/tvanfosson 정말 고마워, 하하하를 도왔다 이제 패스워드 모듈 잊어 버릴 수있어. – sgolek

관련 문제