我在ASP.NET MVC Beta中遇到了ActionLink方法的一个奇怪问题。当从MVC期货使用Lambda超载时,我似乎无法指定从ViewData中提取的参数。ActionLink失败,ASP.NET MVC中的ViewData参数Beta
当我试试这个:
<%= Html.ActionLink<PhotoController>(p => p.Upload(((string)ViewData["groupName"])), "upload new photo") %>
HTML中包含一个空的URL链接。
<a href="">upload new photo</a>
但是,如果我硬编码参数,就像这样:
<%= Html.ActionLink<PhotoController>(p => p.Upload("groupA"), "upload new photo") %>
输出包含一个实际的URL。
<a href="/group/groupA/Photo/Upload">upload new photo</a>
我认为这可能有事情做与ViewData的的可见性和可用性,它不是在那里当拉姆达得到由框架的内部评估。但这只是一个猜测。
我做得第一样品中不正确导致此,或这是一些简短的bug?
更新:我正在使用最新版本的MVC期货。有人指出,这对一些人有效。既然它不适合我,这让我觉得这是我所做的特定事情。有没有人对接下来要看的内容有任何建议,因为这真的让我难堪。
我的Microsoft.Web.Mvc版本是1.0.31003.0。我从10月16日发布的ASP.NET MVC期货下载CodePlex。那么看起来这是我做错了什么,但是什么? – 2008-10-19 14:03:00