ASP.NET MVC BETA中使用RadioButtonList与ActionLink《T》

近日在拿“Mike108Demo05”的源码学习mvc。但在编译总通不过。后来查了下,主要是:

1、beta开始,把future feature单独打包,其中RadioButtonList与ActionLink<T>都在这个包里

2、beta版把RadioButtonList重写了。。。

这篇文章详细介绍了如何使用Future feature包:ASP.Net MVC Beta - ActionLink isn't generic anymore

把future包引入后,Preview5下的ActionLink<T>能正常工作了,但是RadioButtonList还是不能工作。

我c#基础实在太弱,原来的RadioButtonList定义如下:

public static class RadioListExtensions
{
    // Methods
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource);
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource, object selectedValue);
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource, string textField, string valueField);
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource, string textField, string valueField, object selectedValue);
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource, string textField, string valueField, object selectedValue, IDictionary htmlAttributes);
    public static string[] RadioButtonList(this HtmlHelper helper, string htmlName, object dataSource, string textField, string valueField, object selectedValue, object htmlAttributes);
}

新的RadioButtonList定义是:

public static class RadioListExtensions
{
    // Methods
    private static SelectList GetSelectData(this HtmlHelper htmlHelper, string name);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, IDictionary htmlAttributes);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, object htmlAttributes);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, SelectList selectList);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, SelectList selectList, IDictionary htmlAttributes);
    public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, SelectList selectList, object htmlAttributes);
    private static string[] RadioButtonListInternal(this HtmlHelper htmlHelper, string name, SelectList selectList, bool usedViewData, IDictionary htmlAttributes);
}

碰上Preview5中的这句:

    List list = db.UserTypes.ToList();
    string[] rs = Html.RadioButtonList("TypeId", list, "TypeName", "TypeId");            

却不会翻译了。怎么也搞不明白,这个object htmlAttributes,在赋值的时候,应该怎么写。

希望有懂的朋友指点指点啊。

posted on 2008-12-02 10:45  daimon  阅读(719)  评论(0)    收藏  举报

导航