2010-09-22 4 views
0

Я хочу передать несколько значений контроллеру. Контроллер выглядитПередача нескольких значений контроллеру ASP.NET MVC

Page(string type, string keywords, string sortType) 

На странице asp.net,

У меня есть

<%=Url.Action("Page", "Search", new { type = "new",keywords = keywords, sortType = "Date" }) %> 

Но значения для типа и sorType передаются как нуль внутри контроллера.

Что я здесь делаю неправильно?

+0

Какой URL-адрес генерирует Url.Action? Также проверьте свои маршруты. –

+0

Маршруты в порядке, у меня есть только один маршрут, который он туда вводит. Ключевые слова передаются как строковые, но тип и sortType равны нулю. – 2010-09-22 11:29:02

+0

Хорошо, когда вы просматриваете страницу с этой ссылкой, что на самом деле выглядит сгенерированная ссылка, например. 'http: // blah/Search/Page /? type = new & keywords = blahblah & sortType = Date' –

ответ

1

Я только дважды проверял, и это должно работать нормально. Я создал этот метод контроллера в новом главном контроллере MVC приложения:

public ActionResult Page(string type, string keywords, string sortType) 
{ 
    this.ViewData["Type"] = type; 
    this.ViewData["Keywords"] = keywords; 
    this.ViewData["SortType"] = sortType; 
    return this.View("Index"); 
} 

, а затем добавил это индексный:

<ul> 
<% foreach (var item in ViewData) { %> 
    <li><%: item.Key %> = <%: string.IsNullOrEmpty(item.Value as string) ? "null" : item.Value %></li> 
<% } %> 
</ul> 

<%: Html.ActionLink("Hello", "Page", "Home", new { type = "new", keywords = "blahblah", sortType = "Date" }, null) %> 

страница правильно отображает следующий после нажатия на «Hello» ссылки:

o Type = new 
o Keywords = blahblah 
o SortType = Date 

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

+0

Решение состояло в том, чтобы создать строку, а затем использовать ее <% string sType =" Date ";%> <% = Url. Действие («Страница», «Поиск», новый {тип = «новый», ключевые слова = ключевые слова, sortType = sType})%> В противном случае я буду продолжать получать нуль. и это смешно !!! – 2010-09-22 13:15:21

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