1

我是 asp.net mvc 的新手。基本上我来自php程序员。echo $_POST;在我的 php 文件中,我可以使用orprint_r($_POST);或显示来自 html 页面或表单的所有值var_dump($_POST)。但是在 asp.net 中,我如何实现这一点来检查从 UI 页面到控制器的所有值是什么。

4

3 回答 3

3

你可以看看Request.Form楼盘:

public ActionResult SomeAction()
{
    var values = Request.Form;
    ...
}

您可以设置断点并分析值。或者简单地使用浏览器中的 javascript 开发工具栏(例如 FireBug 或 Chrome 开发者工具栏)来查看发送到服务器的确切内容。

但通常你不应该直接访问原始值。在 ASP.NET MVC 中有一个模型绑定器,它可以根据发送到服务器的值实例化一些模型。

例如,您可能有以下模型:

public class MyViewModel
{
    public int Age { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

然后让您的控制器操作将此模型作为参数:

public ActionResult SomeAction(MyViewModel model)
{
    ... you could use the model properties here
}

现在您可以调用此控制器操作,或者使用 GET 请求传递查询字符串 ( /someaction?age=10&firstname=foo&lastname=bar) 中的参数,或者使用 POST 并将它们发送到正文中。

于 2013-03-07T08:31:31.713 回答
0

您可以通过查看原始数据Request.Form

但这不是 ASP.NET MVC 的精神。最好将模型放入控制器中。您已经通过称为模型绑定器的特殊模块完成了所有类型安全映射。

因此,除非您处理某些特殊情况,否则您只需将模型添加到控制器操作:

public ActionResult SomeAction(SomeModel model)
{
    //Handle SomeModel data further ...
}
于 2013-03-07T08:35:47.437 回答
0

您可以创建一个操作,该操作将接受来自 UI 页面的参数,如下所示:

[HttpPost]
public ActionResult SomeAction(string param1, int param2)
{
    //Now you can access the values here
}

或做出将接受模型的动作

public ActionResult SomeAction(SomeModel model)
{
     //Access the model here
}
于 2013-03-07T08:38:18.473 回答