0

我的视图上有一个包含 2 个字段的表单。用户单击提交按钮,将查询特定于该用户的一些数据以及他们在表单中输入的数据。用户的电子邮件地址通过 URL 传递。(例如 ActionName?user_email=yaddd@yyy.com) 我需要从 URL 收集表单数据和电子邮件并将其传递给我的控制器。

我需要从我的数据库中查询数据并向用户显示一条消息。

我找不到关于这个问题的任何好的链接或网站。

这是我到目前为止所尝试的:

    [HttpPost]
    public ActionResult Collect(String s1, String s2, string user_email)
    {}
    and 
    [HttpPost]
    public ActionResult Collect(FormCollection fm, string user_email)
    {}

他们似乎根本不收集表单数据。你有什么建议?

4

3 回答 3

1

您是否在同一个控制器中处理请求?只是想知道您是否正在路由到正确的控制器。

否则,您可以尝试使用:

[HttpPost]
public ActionResult Collect( /* Your input parameters */ )
{
   string email = Request.QueryString["user_email"];
   // Code
}
于 2012-11-07T06:57:35.413 回答
1

您是否考虑过使用模型绑定?理想情况下,我会对您在表单中发送的数据使用模型绑定,并对查询字符串使用操作参数。所以在你的情况下,我会定义一个如下所示的模型

public class MyModel
{
    public string S1 {get; set;}
    public string S1 {get; set;}
}

然后将动作定义为

[HttpPost]
public ActionResult Collect(MyModel model, string user_email)
{
}

这一直对我有用。试一试,如果它不起作用,请告诉我

于 2012-11-07T09:59:02.707 回答
0

这个终于成功了!

[HttpPost]
public ActionResult Collect(MyModel model)
{

string email = Request.QueryString["user_email"];
// Code

}
于 2012-11-09T05:59:29.370 回答