修改ASP.NET中的现有对象

时间:2017-04-01 20:21:07

标签: c# asp.net-mvc

我的ASP.NET MVC应用程序存在一些问题。如何修改先前在不同ActionResult中创建的现有对象?

我在这个动作中创建了对象:

public ActionResult getLogin(AccountViewModel accountViewModel)
{
    Account account2 = de.Accounts.FirstOrDefault(a => a.Username == accountViewModel.Account.Username);
    PasswordReminder.PasswordReminder reminder = new PasswordReminder.PasswordReminder();
    reminder.showQuestion(account2.Username);
    return View("Question", reminder);
}

我想通过此ActionResult

向现有的提醒对象添加一个属性
@model PasswordReminder.PasswordReminder
@{
Layout = null;
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Question</title>
</head>
<body>
<div>
 @Model.questionReminder 
    @using (Html.BeginForm("Answer", "Account", FormMethod.Post))
    {
        @Html.TextBoxFor(a => a.reminderAnswer)
        <input type="submit" value="Send" />
    }
</div>
</body>
</html>

所以在我的视图“Answer”中的属性“reminderAnswer”我输入了值但是questionReminder为null,所以这必须是一个新对象..感谢所有帮助

1 个答案:

答案 0 :(得分:0)

如果我已正确理解您的问题,为了实现您的目标,您用作模型的PasswordReminder对象必须保留在getLogin操作中,然后作为模型从您的操作中单独传回提供你的答案视图(但为了安全起见,我建议使用ViewModel作为前一个PasswordReminder对象的抽象)

这样可以确保您在“应答”视图中引用先前实例化的PasswordReminder对象,以便修改reminderAnswer属性的值。