2011-03-08 102 views
0

我很难用viewbag将数据传递给我的模型。如何将数据从viewbag传递到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

你的问题是什么? – 2011-03-08 03:18:07

+0

我的问题是如何能够我的值直接传递给MODEL 像我@ Model.PasswordAnswer = ViewBag.answer 我wwant明确地传送或可变声明到我的模型 – sgolek 2011-03-08 03:19:51

回答

2

它不工作的方式。您无法分配到正在帖子中返回的模型。我建议将用户的id添加到表单url并使用url上的id来查找需要验证密码的用户。

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

或者更好的是,设置用户ID的模型,并从那里用它代替ViewBag,但仍使用它的URL发送回。

+0

OMG http://stackoverflow.com/users/12950/tvanfosson非常感谢,真的帮助我hahaha 现在我可以去做我忘记的密码模块 – sgolek 2011-03-08 04:56:05

相关问题