2014-12-04 4 views
0

Давайте предположим, что у меня есть метод действий, как это:ASP.NET MVC Передача параметров действий по мнению

public ActionResult Page(int? id) 
{ 
} 

Вопрос заключается в том, как я могу прочитать параметр Ид 'в поле зрения?

+1

Вы пробовали что-нибудь? как правило, помещать его в ViewBag достаточно ... – Tallmaris

+1

Вы не читаете параметры в представлении, вы передаете параметры из представления в контроллер. Если вам нужно передать значение параметра обратно в представление, установите его в своей модели или в ViewBag. –

+0

@ Tallmaris: Мне было интересно, есть ли возможность объединить информацию с проезжающей моделью, но ViewBag выглядит нормально. Благодаря! –

ответ

0

Ваш код не будет строить успешно, пока вы не вернетесь вид, как этот

public ActionResult Page(int? id) 
{ 
    return View(); 
} 

и потому, что вы хотите вернуть идентификатор к вашему мнению вы можете сделать Простой объект

public ActionResult Page(int? id) 
{ 
    return View(id); 
} 

Не забудьте принять новое значение на ваш взгляд, по нижнему краю (самая первая строка)

@model int? 

ViewModel подход

public class MyViewModel 
{ 
    public int? Id { get; set; } 

    //Other properties here 
} 

public ActionResult Page(int? id) 
{ 
    var myViewModel = new MyViewModel() 
    { 
     Id = id 
    }; 
    return View(myViewModel); 
} 

, а затем на ваш взгляд

@model MyViewModel 
+0

Хотя это будет работать, я почему-то не думаю, что представление, основанное на модели, которая является нулевым int, является полезной. –

+1

@BenRobinson Я полностью согласен с вами. Однако он спросил, как получить идентификатор для представления, и это действительное и правильное решение. Конечно, мы можем использовать сумку для просмотра, но я лично ненавижу использовать сумку для просмотра и считаю ее беспорядочной. – Johan

+0

@Johan: На самом деле мой вопрос не завершен. Фактически я возвращаю View с моделью в качестве параметра. –

0

Вы можете получить доступ к параметрам из запроса в виду, как показано ниже

Request.Params["id"] 
Смежные вопросы