html.beginform不回发给控制器,错误加载页面消息?

时间:2013-01-18 14:38:43

标签: asp.net-mvc-4 html.beginform

我一直在尝试将值发回给控制器,以便我可以在其他地方更新余额,但我无法让它工作。我收到了一条消息

  

加载页面时出错

我想要的只是一个double值,但说实话,我只想在第一个实例中将代码放入控制器。

我的.cshtml就像:

@using (Html.BeginForm("Deposit", "AccountController", FormMethod.Post))
{
       <fieldset>
        <legend>Deposit Amount</legend>
        <div class="editor-label">
            @Html.LabelFor(model => model.UserName)
        </div>
       <div class="editor-field">
           @Html.TextBoxFor(model => model.UserName)
            @Html.ValidationMessageFor(model => model.UserName)
        </div>
        <p>
            <input type="submit" value="Save" />
        </p>

        </fieldset>

}

控制器是:

    [HttpGet]
    public ActionResult Deposit()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Deposit(LoginModel model)
    {

        // do things

        return View(model);
    }

我是MVC的新手。我知道视图代码没有我最终想要使用的金额值,或者我可以将它添加到模型中然后传递它,但我根本无法将它传递给控制器​​。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为你对MVC的命名惯例略有不同。假设您的控制器类的名称是AccountController,您应该指定减去BeginForm()方法中的“控制器”部分:

@using (Html.BeginForm("Deposit", "Account", FormMethod.Post))
{
    ...
}