C# 如何在actionlink中获取文本框的值?

C# 如何在actionlink中获取文本框的值?,c#,asp.net-mvc,C#,Asp.net Mvc,我想通过我的@html.ActionLink将我的@HtmlTextBox(“用户名”)的值从我的视图传递给我的控制器中的get方法。以下是我尝试过的: @Html.TextBox("UserName") @foreach (string s in ViewBag.RolesForThisUser) { <tr> <td> @s </td> <td>

我想通过我的
@html.ActionLink
将我的
@HtmlTextBox(“用户名”)
的值从我的视图传递给我的控制器中的get方法。以下是我尝试过的:

@Html.TextBox("UserName")
@foreach (string s in ViewBag.RolesForThisUser)
{
    <tr>
        <td>
            @s
        </td>
        <td>
            @Html.ActionLink("Remove Role", "DeleteRoleForUser",
            new{controller = "Role",
            UserName=@Html.TextBox("UserName").ToString(), RoleName=@s})
        </td>
    </tr>
}

一种方法是检查您正在发布的FormCollection值

[HttpPost] 
public ActionResult SubmitAction(FormCollection collection)
{
  // Get Post Params Here
  string var1 = collection["UserName"];
}

检查您是否使用了正确的id名称来检索值

您的方法是错误的

每次看到
@Html.TextBox(“用户名”)
标记时,您都在告诉运行时创建一个id和名称为“UserName”的输入字段。。。就这些

它不能转化为一个值

但是,您可以使用javascript在
actionlink
中添加一个
onclick
,它将在导航到您想要的url之前附加文本框的值

[HttpPost] 
public ActionResult SubmitAction(FormCollection collection)
{
  // Get Post Params Here
  string var1 = collection["UserName"];
}