views:

181

answers:

2

I want to build this dropdowns with these specific attributes.. How can I do this? Im using LinqToSql. Each Company has employees

<select name="companies" id="companies" class="selectable">
    <option value="">-- select --</option>
    <option value="1" title="company1">Company1</option>
    <option value="2" title="company2">company2</option>
    <option value="3" title="company3">company3</option>
    <option value="4" title="company4">company4</option>
</select>


<select name="employees" id="employees" class="selectable">
    <option value="">-- select --</option>
    <option value="1" class="company1">John</option>
    <option value="2" class="company1">michale</option>
    <option value="4" class="company2">brian</option>
    <option value="5" class="company2">mark</option>
    <option value="6" class="company3">daniel</option>
    <option value="7" class="company3">rose</option>
</select>

Do I have to build my own helper? please help. this all comes from Database and I have Company and Employee with LINQTOSQL classes

+1  A: 

As far as I know yes... The default html helper doesn't give you the ability to set the title or the class attribute on the options...

I would recommend building your own (or looking around to see if someone else has done one that solves this problem).

If you do build your own I would use lambda's (anonymous linq delegates) to capture/define the attributes your are after for the options. That way you can reuse it over and over. Let me know if you need help with this.

anthonyv
A: 

In asp.net MVC you already have a lot of built in Helpers. For the dropdown I would do something like this :

<%= Html.DropDownList("<name>", "<selectlist collection>", new { @class = "<css class>", title = "<title>" }) %>

Erick
Ya but this would put "title" and "class" on the select tag not the options tag. Also the above has no way of knowing which properties on the selectlist collection should be used to populate these attributes for each option.
anthonyv