简体   繁体   中英

Asp.net MVC 3 view design

I have a table that has attributes not common to all rows that will be inserted, which mean my schematic will allow some columns to be empty and this will depend on the type selected.

The tables

Item table

ItemId
Name
Location
Typeid

Type table

Typeid
Desc

Upon a certain type selected (from a dropdown) in the form, some attributes in the item would be shown to the user and they would be have to be entered. How do I approach this.

You'll likely have a controller action (probably a controller) per table so you get separate urls for SEO. You'll also want a view per table as well as these values aren't really shared. You could create an ivory castle that would render a table given a generic List or DataTable, but if you're leaning that route, just use a control for it.

You can also do it with Javascript and AJAX. You can have a div which is hidden called 'item-form'. And on selecting one of the dropdown options, a javascript function can fill the item-form with the html for the selected item type (with the necessary attributes) and make the div visible.

Something like -

$("#dropdown").change(function(){
    if($(this).val()==1)
        $("#item-form").html(); //form with the attributes for type 1
    else if ($(this).val()==2)
        $("#item-form").hmtl(); //form with the attributes for type 2

});

You could fill the div's using calls to controller actions that are specific to the type selected which would return partial views.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM