如何在asp mvc上提交页面后将值设置为null?

时间:2016-04-05 19:24:32

标签: c# asp.net-mvc

我有一个提交到感谢页面的表单,但问题是如果你点击后退按钮,字段仍然填满。我希望在用户点击提交按钮时清除表单,并且不确定asp mvc中的语法。

在网络表单中,我会这样做

txtName.Text = " ";

在MVC中我试过

model.Name = " "; 
model.Name = null;

也尝试了

ModelState.Clear();

既不起作用

以下是我在表单上清除字段的内容

using (var smtp = new SmtpClient())
{
    var credential = new NetworkCredential
    {
        UserName = "email@email.com",
        Password = "password"
    };
    smtp.Credentials = credential;
    smtp.Host = "smtpout.secureserver.net";
    smtp.Port = 3535;
    smtp.EnableSsl = false;
    await smtp.SendMailAsync(message);
    await smtp.SendMailAsync(CustomerMsg);
    model.Name = null;
    model.Name = "";
    ModelState.Clear();
    return RedirectToAction("Sent");
}

2 个答案:

答案 0 :(得分:0)

只是将你的值设置为一个空对象 - 虽然我的背景是在javascript中我一直使用以下模式并假设你可以在这里做一些非常相似的事情。

function formSubmit(userInfo){
  var name = userInfo.name
  var email = userInfo.email
  userInfo = {}
}

答案 1 :(得分:0)

按后退按钮将从缓存中恢复页面。您可以尝试将以下内容添加为操作的属性:

[OutputCache(NoStore = true, Duration = 1)]

这会强制页面从服务器检索,但根据您网页上的其他内容,它可能不是您需要的理想选择。