2013-06-20 84 views
0

我有一个非常混乱的案例。目前,我有以下代码MVC Post方法没有从get方法获取任何信息?

//get method 
public ActionResult EmailValidation(string email, string token) 
    { 
     EmailValidationViewModel model = new EmailValidationViewModel(); 
     model.email = email; 
     model.token = token; 
     Member existingMember = workflow.GetMemberByEmail(model.email, vendor.VendorID); 

     if(existingMember != null) 
     { 
      return View(); 
     } 
    } 


    [HttpPost] 
    public ActionResult EmailValidation(EmailValidationViewModel model) 
    { 
    } 

现在上面的代码,我已经在不同的页面进行测试,自动加载在模型中的POST方法的信息。我相信新视图存在一个问题,下面发布的代码阻止它从get方法获取信息并将其发送到post方法。

我认为它与下面的代码有关?

[[Form_Start]] 
<form action="/Mobile/Home/EmailValidation" id="EmailValidation" method="post" data-transition="slideup"> 

[/ Form_Start]

,如果你们可能知道为什么它返回一个从一个控制器get方法的数据视图,但在接下来的犯规,请让我知道。另外,如果您需要更多信息,也请告诉我,我会尽量为您提供尽可能多的代码。谢谢 !

+0

Whaat你想干什么?你的两个控制器方法都有参数。请详细解释一下? –

+0

我需要我的get方法中的电子邮件才能传递给我的post方法。我有完全相同的代码,但有不同的视图,根据需要工作,但由于某种原因,在ucrrent视图中它不接受电子邮件。 – user2094139

+0

请提供表格的全部内容,包括所有控件。 –

回答

0

此:

if(existingMember != null) 
    { 
     return View(); 
    } 

正在恢复,没有模型的视图。

它改成这样:

if(existingMember != null) 
    { 
     return View(existingMember); 
    } 
+0

不幸的是,当我打电话给我的发布方法时,我不需要这个模型。 – user2094139

+0

您的视图必须在表单中包含模型属性才能将数据返回到服务器。 ModelBinder会照顾它。 –