【问题标题】:ASP.NET MVC ActionResult method confusionASP.NET MVC ActionResult 方法混淆
【发布时间】:2013-03-19 18:32:26
【问题描述】:

在我的 ASP.NET MVC 应用程序中,我只想更新我的 Register 方法中的两个变量。

我的控制器中的注册方法看起来像这样(它没有自己的视图,所以我不确定在这种情况下要返回什么):

[HttpPost]
public ActionResult Register(Container c)
{

String email = c.register.Email.ToString();
String password = c.register.Password.ToString();
return view();
}

我的索引视图是这样的;

@model VoterMvcTest.Models.Container    

@using(Html.BeginForm("Register", "Default1")) 
{
@Html.LabelFor(o => o.register.Email)
@Html.EditorFor(o => o.register.Email)
@Html.LabelFor(o => o.register.Password)
@Html.EditorFor(o => o.register.Password)
<input class="button" type="submit" value="Register" />
}

我的模型看起来像这样;

public class Container
{
    public Login login { get; set; }
    public Register register { get; set; }

}

public class Login
{
    public string Email { get; set; }
    public string Password { get; set; }
}

public class Register
{
    public string Email { get; set; }
    public string Password { get; set; }

}

当您单击按钮时,我希望设置电子邮件和密码这两个变量,并且可以在另一种方法中使用。我不确定我应该返回什么(目标是保持相同的观点)。我试图重定向到我当前所在的同一视图(索引视图),但似乎这会导致回发并且变量丢失。

【问题讨论】:

    标签: asp.net-mvc methods return-value actionresult


    【解决方案1】:
    ASP.NET MVC does not have ViewState as you would have when using WebForms. So if you 
    perform a post and do not persist the data in either a database or a temporary memory 
    (session object for instance) you'll lose that data as soon as the request has finished.
    If you do some kind of validation and determine that the user was well registered you
    could redirect him to another view using: 
    
        return RedirectToAction("Index")
    

    【讨论】:

    • 是的,我知道,但我只是在想是否有可能让用户在注册后登录而不将他重定向到另一个视图(将登录和注册保持在同一个视图中)。我还没有为制作数据库而烦恼,只是用一些字符串变量进行测试。
    • 让我看看我是否明白你的意思。注册和登录是两个不同的东西。当您使用 MVC 创建互联网应用程序时,您是否查看过帐户控制器?您有两个具有不同视图的操作,它们执行类似的操作,然后将用户重定向到索引页面。使用 ajax 可以做的是一个异步过程,然后注册/记录用户。
    【解决方案2】:

    试试这个

    return View("Index",c)
    

    会有用的

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多