我正在尝试在asp.net MVC中传递一个字符串变量。我使用断点,所以我看到它确实可以在 Controller 中使用正确的方法,但是发布的变量等于null。

我的标记:

@{
    ViewBag.Title = "TestForm";
}

<h2>TestForm</h2>

@using (Html.BeginForm()) {
   <input type="text" id="testinput" />

    <input type="submit" value="TestForm" />
}

我的 Controller :
public ActionResult TestForm()
{
    return View();
}

[HttpPost]
public ActionResult TestForm(string testinput)
{
    Response.Write("[" + testinput + "]");

    return View();
}

我将断点放在第二个TestForm方法中,而testinput为null...。
我想念什么吗?

注意:我意识到大多数时候我都会使用模型来传递数据,但是我想知道我也可以传递字符串。

作为同一问题的一部分,如何传递几个变量?我的 Controller 中的方法如下所示:
[HttpPost]
public ActionResult TestForm(string var1, var2)
{
}

最佳答案

对我来说,您似乎设置了id而不是名称。我每天都使用MVC3,所以我不会复制您的样本。 (我清醒了20个小时的编程;),但仍然很乐于提供帮助。)请告诉我它是否无效。但是对我来说,您似乎必须设置“名称”属性...而不是id属性。尝试一下...如果不起作用,我现在正在等待帮助您。

     <input type="text" id="testinput" name="testinput" />

10-06 11:36