在MVC Razor中设置ListBox的样式

时间:2013-04-26 06:41:41

标签: razor asp.net-mvc-4 listbox

这是我在我的页面中使用的ListBox的Razor语法。我该如何设置其高度和宽度? 这里noCategories是来自Controller的View数据。

$ @ Html.ListBox( “noCategories”);

控制器:

    public ActionResult Configure(int? nopCategoryid)
    {
        model = new DataImporttModel();

        DisplaynopCommerceCategories(model, nopCategoryid);

        return View("Nop.Plugin.Data.Import.Views.DataImport.Configure", model);

    }


    private void DisplaynopCommerceCategories(DataImporttModel model, int? nopCategoryid)
    {
        var _categoryservice = new NopEngine().Resolve<ICategoryService>();

        MultiSelectList sl;

        model.nopCommerceCategories = new List<CS_ListItems>();

        foreach (var item in _categoryservice.GetAllCategories().ToList())
        {
            model.nopCommerceCategories.Add(new CS_ListItems() { Name = item.Name, ID = item.Id });
        }

        if (nopCategoryid != null)
        {

            sl = new MultiSelectList(model.nopCommerceCategories, "ID", "Name", new[] { nopCategoryid });
        }
        else
        {
            sl = new MultiSelectList(model.nopCommerceCategories, "ID", "Name");
        }

        ViewData["nopCommerceCategories"] = sl;

    }

public class DataImporttModel
{        
    public List<C_Category> Mappings { get; set; }

    public List<CS_ListItems> ClockCategories { get; set; }

    public List<CS_ListItems> nopCommerceCategories { get; set; }
}

1 个答案:

答案 0 :(得分:8)

您可以对其应用一个类,然后通过CSS设置样式:

@Html.ListBox("noCategories", ViewData["nopCommerceCategories"] as MultiSelectList, new {@class = "mylistbox"});

<强> CSS

.myclass{
    width: 100px;
}

或者,您可以将其设置为内联样式:

@Html.ListBox("noCategories", ViewData["nopCommerceCategories"] as MultiSelectList, new {@style = "width: 100px;"});