【问题标题】:MVC 3/4 Pass Parameter from Controller to Another ControllerMVC 3/4 将参数从控制器传递到另一个控制器
【发布时间】:2012-08-26 15:41:03
【问题描述】:

我有一个登录表单,它要求输入用户名、密码、令牌ID(每个用户都知道他的令牌,他们得到它来访问 API)。我希望能够获取他们输入的令牌 API 并将其传递给 /Home/Index。这样做的最佳方法是什么?

【问题讨论】:

  • 只有一个LoginHome吗?还是在那之后你可能还需要它?

标签: asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

好的,首先你有一个视图,用户将在其中输入UserNamePasswordTokenId,所以让视图有一个如下所示的模型。

public class LoginModel{

public string UserName{get; set;} 
public string Password{get; set;}
public string TokenId{get; set;}
}

从视图中您可以返回这个模型,它将保存所有这些值。

现在您需要将这些值传递给Home/Index,您可以将表单提交给Index 操作。

public ActionResult Index(LoginModel model)
{
 string gotcha = model.TokenId;
}

但是,如果您想将表单提交给不同的操作,例如控制器“登录”,然后将此值传递给不同的控制器,您可以执行类似的操作。

// defined in Login Controller
public ActionResult Index(LoginModel model)
{
 TempData["TokenId"] = model.TokenId;
 return RedirectToAction("Dashboard","Account");
}

// defined in Account Controller
public ActionResult Dashboard()
{
 string gotVal = TempData["TokenId"]

}

有更多方法可以在两个动作之间传递值,请参阅this link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2012-12-18
    • 1970-01-01
    相关资源
    最近更新 更多