Я новичок в asp.net mvc. В основном я из php-программиста. В моем php-файле я могу отобразить все значения, исходящие с html-страницы или формы, с помощью echo $_POST;
или print_r($_POST);
или var_dump($_POST)
. Но в asp.net как я могу достичь этого, чтобы проверить, что все значения поступают с страницы пользовательского интерфейса на контроллер.asp.net mvc form values display
ответ
Вы можете посмотреть на 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
}
и теперь вы можете вызвать это действие контроллера либо wityh GET-запрос, передающий параметры в строке запроса (/someaction?age=10&firstname=foo&lastname=bar
) или используя POST и отправляя их в тело.
Я просто хотел добавить этот пункт к моему ответу, что правильным способом является использование модели в действии. :) И теперь я вижу, что вы редактировали вопрос дальше ... +1 –
Действительно благодарю за ваш ответ, и я понял, почему мы хотим использовать viewmodel для моей страницы ui. большое спасибо –
Вы можете проверить необработанные данные через Request.Form
.
Но это не тот дух ASP.NET MVC. Предполагается, что вы ожидаете модель в своем контроллере. У вас есть все типы безопасности, которые уже сделаны специальным модулем, называемым модельным связующим.
Так что, если вы не работаете на каком-то частном случае, вы просто добавить модель в действии контроллера:
public ActionResult SomeAction(SomeModel model)
{
//Handle SomeModel data further ...
}
Вы можете создать действие, которое будет принимать параметры со страницы пользовательского интерфейса, как следующее:
[HttpPost]
public ActionResult SomeAction(string param1, int param2)
{
//Now you can access the values here
}
или сделать действие, которое будет принимать модель
public ActionResult SomeAction(SomeModel model)
{
//Access the model here
}
первый, начните читать учебник s http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3 –