我有一個搜索頁面,如果列表中有結果,它會將此列表傳遞給視圖。 但是,如果沒有結果,我想將搜索到的文本發送到找不到結果視圖。 我會怎麼做呢?如何將字符串傳遞給ASP.NET MVC中的分部視圖?
回答
您需要將搜索到的文本作爲返回到視圖的模型的一部分。然後你有兩個選擇 -
使用RenderPartial會將返回的視圖傳遞給局部視圖,所以你可以從那裏訪問你想要的值。
Html.RenderPartial("PartialView");
或者,您可以傳遞字符串作爲模型使用
Html.RenderPartial("PartialView", Model.SearchedText);
,如果你想使用不同型號的沒有結果的局部視圖,這可能使意義上的局部視圖。
<%Html.RenderPartial("SimpleTrustGridViewer", ViewData["departmentGrid"]); %>
此傳遞一個對象計算機[「departmentGrid」](這是來自非局部視圖的可視數據)對局部視圖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和模型。 我的模型將有2個道具(重構友好代碼:D), class SearchResult { public 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"]) %>
我的文本框爲空。
你可以對div標籤使用jquery和load()
動作,使用partial;結果是相似的。 這個load()
ajax方法用你想要的文本調用控制器。 like:
$('#divId').load('url/'+ serch content);
- 1. 如何將參數傳遞給ASP.NET MVC中的部分視圖?
- 2. 將字典傳遞給視圖Asp.net MVC
- 3. asp.net mvc - 將部分數據模型傳遞給局部視圖
- 4. 在ASP.NET MVC中,如何將字符串變量傳遞給_Layout.cshtml視圖?
- 5. asp.net mvc 1.0 - 如何將部分視圖呈現爲字符串
- 6. 在ASP.NET MVC中將視圖中的字符串傳遞給控制器Razor
- 7. MVC 4 - 如何將模型數據傳遞給部分視圖?
- 8. 我如何將單個字符串傳遞給部分視圖從返回部分視圖的動作
- 9. 將字符串傳遞到MVC4中的部分視圖
- 10. 如何將數據從視圖傳遞給ASP.NET MVC中的UserControl?
- 11. ASP.NET MVC:將字符串傳遞到視圖
- 12. 將參數傳遞給部分視圖
- 13. 如何將屬性名稱作爲字符串傳遞給ASP.NET MVC中的@ HTML.TextboxFor()
- 14. 如何將模型傳遞給Asp .Net中的部分視圖?
- 15. 如何將字符串傳遞給JOptionPane?
- 16. ASP.Net MVC將數據庫字符串傳遞給CheckBox值
- 17. 將參數傳遞給MVC部分視圖時感到困惑?
- 18. MVC 4將數據傳遞給部分視圖 - 格式
- 19. MVC部分視圖將模型傳遞給控制器
- 20. 將字符串動態傳遞給laravel4中的視圖
- 21. 將字符串傳遞給$
- 22. 如何將字符串傳遞給epp_dodger?
- 23. 如何將xml文檔作爲字符串傳遞給asp.net webservice
- 24. 如何將json字符串傳遞給webmethod c#ASP.NET
- 25. 將上下文信息傳遞給ASP.NET MVC中的視圖
- 26. 如何使用$ .ajax()將字符串傳遞給C#/ ASP.NET?
- 27. 如何將通過AJAX收到的數據傳遞給ASP MVC部分視圖?
- 28. 如何在asp net mvc3中將部分視圖的值傳遞給父視圖
- 29. ASP.NET MVC 2 - 如何將查詢字符串傳遞迴響應?
- 30. ASP.NET:如何將值從本地資源傳遞給字符串?
我必須添加它作爲模型的一部分。現在我需要重構我的代碼:) – ddd 2009-05-27 09:47:43