检查POST数据值

时间:2015-11-12 14:32:12

标签: c# asp.net asp.net-mvc post

如何在我的应用程序中检查提交的帖子数据?我想看看如果在提交帖子时输入字段中有任何数据。

HTML:

<div id="addBox" style="display: none; margin-top: 10px;">
    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()
        <div class="form-group">
            @Html.Label("Descrption", "Att göra"):
            @Html.TextBox("Description", null, new { id = ViewBag.ListContainerID })
            <input type="submit" value="Ok" class="btn btn-default" />
        </div>       
    }
</div>

控制器:

[HttpPost]
    [ActionName("Details")]
    public ActionResult AddTask(FormCollection values)
    {
        var id = values["id"];
        var desc = values["Description"];

        /*Task task = new Task
        {
            Description = desc,
            ListContainerID = id
        };

        db.Tasks.Add(task);
        db.SaveChanges();*/
        return RedirectToAction("Details");
    }

我试图在id和desc旁边设置断点,但无法找到有关输入字段包含内容的信息。

2 个答案:

答案 0 :(得分:1)

  

在PHP中,您可以使用var_dump($ _ POST)在点击提交按钮后查看有关POST数据的信息。我想在ASP.NET中做同样的事情

不,你不想这样做。

Visual Studio有一个很棒的调试器,您可以使用它。设置断点并检查相关变量。这样您在调试时就不必更改代码,之后就不会忘记将其删除。

您可以使用ViewBag将变量从控制器传输到视图:

// Set in Controller:
ViewBag.TestingVariable1 = values["Foo"];

// Render in View:
@ViewBag.TestingVariable1

不过,不建议这样做。您正在将应用程序更改为调试,这是不可取的。

如果你坚持,请查看Response.Write()

答案 1 :(得分:0)

为什么没有添加Html.BeginForm()的参数。它应该是:

Html.BeginForm("AddTask","ControlerName...",FormMethod.Post)
{}

要检查提交值,您可以使用ajax并对控制器方法执行异步调用,并使用警报/日志来检查/打印值(jquery)。