[英]Pro ASP.net MVC Framework - url.action
我不明白下面的單元測試說明
string links = ((HtmlHelper)null).PageLinks(2, 3, i => "Page" + i);
映射到實際代碼如下:
<%= Html.PageLinks((int)ViewData["CurrentPage"], (int)ViewData["TotalPages"], x=> Url.Action("List", new { page = x}))
%>
讓我感到困惑的部分是如何...
i => "Page" + i
正在測試以下內容:
x=> Url.Action("List", new { page = x})
您應該發布PageLinks代碼以更好地理解,但是我想我仍然知道ID是什么(這是來自Steve Sanderson MVC的書嗎?)
來自PageLinks的第三個參數是一個接收int參數(pageNumber)並返回一個字符串的函數,該函數將被調用幫助器生成的每個鏈接,以獲取每個鏈接指向的URL。 在您的代碼中,您正在使用Lambda表達式( http://msdn.microsoft.com/en-us/library/bb397687.aspx )定義此函數。
例如,當您在測試中致電您的助手時:
(string links = ((HtmlHelper)null).PageLinks(2, 3, i => "Page" + i);)
你應該收到這樣的東西:
<a href='Page1'></a> <a href='Page2'></a> <a href='Page3'></a>
注意每個鏈接的href如何變化,這就是你必須檢查結果以查看幫助程序是否正常工作。
x=> Url.Action("List", new { page = x})
以同樣的方式工作,你的助手調用它需要生成的每個鏈接的Url.Action。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.