Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC4-在收集表单数据时从URL向控制器传递参数_Asp.net Mvc_Controller_Asp.net Mvc 4_Http Post_Parameter Passing - Fatal编程技术网

Asp.net mvc MVC4-在收集表单数据时从URL向控制器传递参数

Asp.net mvc MVC4-在收集表单数据时从URL向控制器传递参数,asp.net-mvc,controller,asp.net-mvc-4,http-post,parameter-passing,Asp.net Mvc,Controller,Asp.net Mvc 4,Http Post,Parameter Passing,我的视图中有一个包含两个字段的表单。用户单击submit按钮,将查询特定于该用户的某些数据以及他们在表单中输入的数据。 用户的电子邮件地址通过URL传递。(例如ActionName?用户\电子邮件=yaddd@yyy.com) 我需要从URL收集表单数据和电子邮件,并将其传递给我的控制器 我需要从我的数据库中查询数据并向用户显示消息 我找不到任何关于这个问题的好链接或网站 这就是我迄今为止所尝试的: [HttpPost] public ActionResult Collect(S

我的视图中有一个包含两个字段的表单。用户单击submit按钮,将查询特定于该用户的某些数据以及他们在表单中输入的数据。 用户的电子邮件地址通过URL传递。(例如ActionName?用户\电子邮件=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)
    {}

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

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

否则,您可以尝试使用:

[HttpPost]
public ActionResult Collect( /* Your input parameters */ )
{
   string email = Request.QueryString["user_email"];
   // Code
}

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

public class MyModel
{
    public string S1 {get; set;}
    public string S1 {get; set;}
}
然后将动作定义为

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

这对我来说一直很有效。试试看,如果不起作用请告诉我这一次终于起作用了

[HttpPost]
public ActionResult Collect(MyModel model)
{

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

}

你好像没有收集它?您是否尝试过调试代码并查看传递到user\u email变量的内容?它是否有价值?你能在浏览器中生成的URL上看到用户电子邮件吗?是的,我能在URL上看到电子邮件。我尝试过调试并查看是否从表单中收集了值,但什么也没有显示:(什么都没有?因此你的代码在调试点停止(验证它确实调用了正确的控制器),并且您在调试中看到了变量,它是空的?您的表单元素是什么样子的?您的输入是什么样子的?谢谢您的建议!我觉得奇怪的是,在这种情况下,只有formcollection不能工作!