2013-04-25 130 views
0

我有第一个表单中的用户名和密码,并以另一种形式检索密码,其中我想要第一个表单中的第一个表单提交的第二个表单中的userame。如何在另一个表单中提交表单值提交

@model Network.Models.LoginDetail 

    <script type="text/javascript"> 

    </script> 
    @{ 
     ViewBag.Title = "Index"; 
     Layout = "~/Views/Shared/_Layout.cshtml"; 
    } 
    <p> 
     Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account. 
    </p> 

    @using (Html.BeginForm("Index","Student",FormMethod.Post)) { 
    <div> 
      <fieldset> 
       <legend>Account Information</legend> 

       <div class="editor-label"> 
       @Html.LabelFor(model => model.Username) 
      </div> 
      <div class="editor-field"> 
       @Html.EditorFor(model => model.Username) 
       @Html.ValidationMessageFor(model => model.Username) 
      </div> 

      <div class="editor-label"> 
       @Html.LabelFor(model => model.Password) 
      </div> 
      <div class="editor-field"> 
       @Html.EditorFor(model => model.Password) 
       @Html.ValidationMessageFor(model => model.Password) 
      </div> 
      <p> 
      <input type="submit" value="Log in" style="width: 200px"/> 
      </p> 
      @ViewBag.Message 
      </fieldset> 
      </div> 
      } 
      @using (Html.BeginForm("RetrievePassword","Student",FormMethod.Post)) { 
      <p> 
      Forgot password? <input type="submit" onclick="updateUsername();"value="Click Here" style="width: 150px"/> Entering your username to retrieve your password. 
      </p> 
      @Html.HiddenFor(model => model.Username) 
     } 

我们如何实现这一目标,我尝试在javascript中捕获隐藏字段中的用户名,但不工作。 或者可以在窗体内形成用于实现此目的。 请提供解决方案。

感谢,

Michaeld

+0

JavaScript是可能的方式来做到这一点。让我们看看你的JavaScript。 – Jasen 2013-04-25 17:46:24

+0

嗨Jasen,谢谢你的输入document.getElementById('username')。value = document.getElementById('Username')。value;工作我试图改变隐藏价值编号名称 – michaeld 2013-04-25 17:51:43

回答

0

在在“Stundent”控制器“指数”行动POST方法,你将能够获得无论是在的FormCollection或LoginDetail对象形式的值。

例子:

public ActionRestult Index(FormCollection FC) 
{ 
    string UserName = FC["Username"]; 
    string Password = FC["Password"]; 
} 

或可替代

public ActionRestult Index(LoginDetail obj) 
{ 
    string UserName = obj.Username; 
    string Password = obj.Password; 
} 

这将解决您的问题。

+0

第二ALT变得为空,因为两者都是在不同的形式,dint有很多时间来测试与formcollection解决方案,谢谢 – michaeld 2013-04-25 18:15:29