2015-03-12 2 views
1

Пойдемте прямо.MVC different Получите и опубликуйте метод контроллера

Мне нужно принять данные и отправить данные в контроллер. У меня есть вызов ajax с некоторым параметром данных после сообщения (скажем, id &), которое будет нацелено на целевую страницу следующим образом:/master/data? Page = student.

Поэтому у меня есть три параметра должны быть переданы: 1. страница ==> отправить с помощью метода GET 2. ID ==> отправить с помощью метода POST 3. имя ==> отправить с помощью метода POST

У меня есть метод контроллера, но это не сработало. Как это исправить?

<HttpPost()> _ 
<HttpGet()> _ 
Function data(page as string, id as Integer, name as string) As ActionResult 
    bla..bla.bla... 
End Function 
+0

Вам не нужны эти атрибуты http *, но в противном случае это должно работать. Что означает «не получилось»? – Andrei

+0

Увы ... моя ошибка ... на самом деле это работает. Я получил нулевое значение, и я, хотя из-за этого. Извините, он передает значение по своему усмотрению. –

ответ

1

Добавить Перед Youre контроллер

<AcceptVerbs("Post", "Get")> 

AS

<AcceptVerbs("Post", "Get")> 
<AllowAnonymous()> _ 
Function data(page as string, id as Integer, name as string) As ActionResult 
    bla..bla.bla... 
End Function 

В противном случае не ставьте HTTP глаголы, чтобы все

+0

Во-первых, извините, что это моя вина. Это действительно работает. У меня проблема с моим сценарием ajax, который передает значение null. В чем отличие использования и и ? Он по-прежнему работает для меня, используя и . –

+0

Да Это будет только правильный способ позволить нескольким глаголам передавать их в списке AcceptVerbs :) – Tushar

1

Я предпочитаю это другой способ лично. IE с примерами кода:

[HttpPost] 
    public ActionResult RegisterUser(Register model) 
    { 
     if (!ModelState.IsValid) 
     { 
      ViewBag.stuff= new stuffDbContext().stuff; 

      // If we got this far, something failed, redisplay form 
      return PartialView("RegisterUser", model); 
     } 

    [HttpGet] 
    public ActionResult RegisterUser() 
    { 

      return PartialView(); 
    } 

Это может нарушить DRY об ООП, однако она стоит на шаблон проектирования MV-WYFY.

Смежные вопросы