2013-01-18 29 views
1

我有一个重载actionlink的函数,并且简单地为路由值“ID”添加一个新参数,我在这个地方使用了这个参数。在MVC和htmlAttributes中重载ActionLink

这是到目前为止我的代码:

public static MvcHtmlString ReportActionLink(this HtmlHelper helper, string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes) 
{ 
    RouteValueDictionary routeValueDictionary = new RouteValueDictionary(routeValues); 
    routeValueDictionary.Add("id", HttpContext.Current.Request.RequestContext.RouteData.Values["id"]); 

    IDictionary<string, object> attrs = new RouteValueDictionary(htmlAttributes); 

    return helper.ActionLink(linkText, actionName, controllerName, routeValueDictionary, attrs);   
} 

正如你所看到的,我通过在routeValues,并将其转换为一个字典,并添加我的ID。

,当我将我htmlAttributes并IDictionary的,因为重载方法预计,它不会取代下划线在我的特性,即

data_event =“东西”不会成为数据事件发生的问题= “某事”与匿名类型一样。它用下划线呈现。我想知道这是为什么,如果没有办法转换它?

+0

您可以添加ReportActionLink的示例调用吗? –

回答