2013-03-07 4 views
1

Я новичок в asp.net mvc. В основном я из php-программиста. В моем php-файле я могу отобразить все значения, исходящие с html-страницы или формы, с помощью echo $_POST; или print_r($_POST); или var_dump($_POST). Но в asp.net как я могу достичь этого, чтобы проверить, что все значения поступают с страницы пользовательского интерфейса на контроллер.asp.net mvc form values ​​display

+2

первый, начните читать учебник s http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3 –

ответ

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 
} 

и теперь вы можете вызвать это действие контроллера либо wityh GET-запрос, передающий параметры в строке запроса (/someaction?age=10&firstname=foo&lastname=bar) или используя POST и отправляя их в тело.

+0

Я просто хотел добавить этот пункт к моему ответу, что правильным способом является использование модели в действии. :) И теперь я вижу, что вы редактировали вопрос дальше ... +1 –

+0

Действительно благодарю за ваш ответ, и я понял, почему мы хотим использовать viewmodel для моей страницы ui. большое спасибо –

0

Вы можете проверить необработанные данные через Request.Form.

Но это не тот дух ASP.NET MVC. Предполагается, что вы ожидаете модель в своем контроллере. У вас есть все типы безопасности, которые уже сделаны специальным модулем, называемым модельным связующим.

Так что, если вы не работаете на каком-то частном случае, вы просто добавить модель в действии контроллера:

public ActionResult SomeAction(SomeModel model) 
{ 
    //Handle SomeModel data further ... 
} 
0

Вы можете создать действие, которое будет принимать параметры со страницы пользовательского интерфейса, как следующее:

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

или сделать действие, которое будет принимать модель

public ActionResult SomeAction(SomeModel model) 
{ 
    //Access the model here 
}