У меня есть страница поиска, которая, если есть результаты в списке, передает этот список в представление. Однако, если результатов нет, я хочу отправить искомый текст в список, не содержащий результатов. Как я могу это сделать?Как передать строку в частичный вид в ASP.NET MVC?
ответ
Вам нужно будет найти искомый текст как часть модели, которая возвращается в представление. Затем у вас есть два варианта:
Использование RenderPartial передаст возвращенное представление частичному представлению, чтобы вы могли получить доступ к требуемому вами значению.
Html.RenderPartial("PartialView");
В качестве альтернативы, вы можете передать строку в качестве модели для частичного вида с использованием
Html.RenderPartial("PartialView", Model.SearchedText);
Какой может иметь смысл, если вы хотите использовать частичный вид каких-либо результатов с различными моделями.
<%Html.RenderPartial("SimpleTrustGridViewer", ViewData["departmentGrid"]); %>
это передает объект ViewData [ «departmentGrid»] (это происходит от ViewData части, не частичный вид) на частичный вид SimpleTrustGridViewer.
упрощена:
<%Html.RenderPartial("myUserControl", myString); %>
И ваш частичный вид наследует так:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
Затем в вашем частичном представлении 'Модель' будет переданная строка.
Частичный вид, если вы не передадите ему что-то еще явно, имеет ту же модель, что и родительский вид.
ViewDataDictionary, переданный от контроллера к представлению, будет таким же, как и от представления к частичному представлению. Поэтому, если строка, которую вы хотите передать, находится в ViewDataDictionary, вам не нужно ее передавать.
<%=Html.RenderPartial("NorResultFound")) %>
Но вы можете использовать ту же точку зрения, существуют ли результаты или нет:
<%if (Model.ResultCount!=0){ %>
<%foreach(var result in Model){ %>
<%= // display results %>
<%}}%>
<%else {%>
<p>There is no results for <%=ViewData["keyword"]%> </p>
<%} %>
Я согласен с вами, но я предпочитаю использовать сильно типизированную модель вместо mixin 'ViewData и model. Моя модель будет иметь 2 реквизита (реорганизованный код: D), класс SearchResult { Публичный IList
двумя способами (? Вы говорите о представлениях, а не частичный вид справа) 1) в контроллере только вызывать другое представление в случае отсутствия результатов, передающих строку как модель 2) создать модель, содержащую статус поиска (найдено x элементов, совпадение найдено и т. д.) и список результатов для одного и того же представления, что позволяет просмотр, чтобы сделать разные результаты с помощью оператора switch.
Я пробовал это и не мог заставить его работать. Скажем, у меня есть
<div id="SearchBar">
<% using (Html.BeginForm("IndexNoJavaScript", "Home"))
{%>
<%= Html.TextBox("SearchTextBox", ViewData["SearchText"]) %>
<input type="submit" value="Search" /> <% } %>
</div>
<% Html.RenderPartial("SearchResults"); %>
И когда я пытаюсь отобразить текст для поиска в этой точке зрения следующим образом:
<%= Html.TextBox("SearchedText", ViewData["SearchText"]) %>
Мое текстовое поле пустое.
Вы можете использовать jquery и load()
действие на теге div, insted of which partial; результат схож. load()
Метод ajax вызывает контроллер с текстом, который вы хотите. like:
$('#divId').load('url/'+ serch content);
- 1. Asp.net MVC частичный вид
- 2. Передать переменные на частичный вид в MVC
- 3. asp.net mvc - передать частичную модель данных в частичный вид
- 4. Как я могу передать одну строку в частичный вид из действия, возвращающего частичный вид
- 5. Как вернуть частичный вид на asp.net mvc
- 6. Asp.net с MVC Частичный вид и модели
- 7. ASP.NET MVC частичный вид: ввод имени префиксы
- 8. ASP.NET MVC + modelstate и частичный вид
- 9. asp.net mvc 1.0 - как визуализировать частичный вид в виде строки
- 10. элемент Count это частичный вид в Вид ASP.NET MVC
- 11. ASP.NET MVC 3 - передавать данные в частичный вид в макете
- 12. Как создать редактируемый частичный вид в ASP.NET MVC
- 13. Оказывает частичный вид ASP.Net MVC на строку, когда частичный вид содержит действие рендера.
- 14. Как перенести паразиты в частичный вид в ASP.NET MVC?
- 15. ASP.NET MVC NerdDinner Частичный вид Вопрос
- 16. Asp.net MVC - визуализировать частичный вид из области
- 17. asp.net mvc 2 множественный частичный вид
- 18. Asp.Net MVC макета и частичный вид
- 19. показать частичный вид в MVC
- 20. ASP.NET MVC 3, частичный вид и Count()
- 21. Обновить частичный вид в mvc
- 22. как передать параметр в частичный вид в MVC4 бритве
- 23. Как разместить частичный вид в asp.net mvc через java-скрипт?
- 24. Как использовать частичный вид модели в ASP.NET MVC
- 25. Открытие файла .aspx как частичный вид cshtml в asp.net mvc
- 26. ASP.NET MVC: Как создать частичный вид в представлении индекса?
- 27. Использование ASP.NET MVC частичный вид нг-повтора в angularjs
- 28. MVC частичный вид после
- 29. MVC нокаут частичный вид
- 30. Обновить MVC Частичный вид
Мне пришлось добавить его как часть модели. Теперь мне нужно реорганизовать мой код :) – ddd