簡體   English   中英

Pro ASP.net MVC框架 - url.action

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM