如何在我的应用程序中检查提交的帖子数据?我想看看如果在提交帖子时输入字段中有任何数据。
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旁边设置断点,但无法找到有关输入字段包含内容的信息。
答案 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)。