将值从文本框传递到控制器作为参数

时间:2016-06-23 13:34:33

标签: c# asp.net asp.net-mvc controller parameter-passing

所以在我的视图中我需要一个简单的文本框:

 <input type="text" name="CVR" placeholder="Enter CVR" required />

在同一视图中,最后我有提交按钮:

 @Html.ActionLink("Submit", "SendMail", new { studentId = Html.ViewData.Model.StudentId, companyId = Html.ViewData.Model.CompanyId, applicationId = Html.ViewData.Model.ApplicationId, companyCVR = Model.CVR})

数据有效,直到“companyCVR = Model.CVR”。我无法将“companyCVR”更改为用户在上面的文本框中输入的文本。

这是我的控制器构造函数:

public ActionResult SendMail(string studentId, string companyId, int applicationId, string companyCVR)

从技术上讲,这应该有效:

contract.CVR = companyCVR;

当我硬编码时(合同.CVR =“12345”)。我的问题是将值从文本框传递给companyCVR,我试图将其作为参数传递给控制器​​。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果使用<form>,可能会更容易。类似的东西:

@using (Html.BeginForm("SendMail", "Contract", null, FormMethod.Post), new { id = "myForm" })
{
     <input type="hidden" value=@Html.ViewData.Model.StudentId name="studentId" />
     <input type="hidden" value=@Html.ViewData.Model.CompanyId name="companyId" />
     <input type="hidden" value=@Html.ViewData.Model.ApplicationId name="applicationId" />
     <input type="text" name="companyCVR" />

}

<input type="button" value="Submit" onclick="$('#myForm').submit();" />