ASP.NET MVC 3 Logic for dynamically generated dropdown controls -
i have form generate dynamically, based on amount of rows in excel file upload. can add logic looks through description string , sets dynamically generated dropdownlist specified value, based on text in description? want add list of checks, such as: if "blabla" in description string, set dropdownlist value 4.
do have in javascript? cause doesn't feel clean me. i'd prefer business logic handled in controller, i'm not sure how go in design.
my code looks this:
preview page, links editor template named transaction:
@using (html.beginform("preview", "import", formmethod.post)) { <table border="1" style="border-color: #ffffff"> @html.editorfor(m => m.transactions, new { categories = model.categories }) </table> <input id="btnsave" type="submit" value="opslaan in database" /> } in editor template transaction, display static data, , textbox , dropdownlist each row in excel have uploaded in page:
<tr> <td style="width: 40px; padding: 5px; background-color: @currencyhelper.getcurrencycolor(model.amount)" align="right" nowrap="nowrap">@html.raw(currencyhelper.getcurrency(model.currency, model.amount)) </td> <td style="white-space: nowrap; padding: 5px;">@model.datetime.tostring("dd-mm-yyyy") </td> <td style="padding: 5px;">@model.description </td> <td style="padding: 5px;">@html.editorfor(m => m.shortdescription) </td> <td style="padding: 5px;">@html.dropdownlistfor(m => m.categoryid, new selectlist(viewdata["categories"] ienumerable<category>, "categoryid", "name")) </td> </tr> my controller, enters data in view model:
//attach unique transactions , categories viewmodel var viewmodel = new importviewmodel() { transactions = uniquetransactions.tolist(), categories = categoryrepository.getcategories().orderby(c => c.name).tolist() };
static binding
public class homecontroller : controller { public actionresult index() { viewbag.message = "welcome training courses..."; list objcourses = new list(); objcourses.add("asp.net"); objcourses.add("mvc"); objcourses.add("wcf"); objcourses.add("wpf"); objcourses.add("c#.net"); viewbag.courses = new selectlist(objcourses); return view(); } } @{ viewbag.title = "home page"; } index @using(@html.beginform(“index”,”home”,formmethod.get)) { courses list; @html.dropdownlist(“courses“) } dynamic binding
public class homecontroller : controller { public actionresult index() { private moviedbcontext db = new moviedbcontext(); var genrelst = new list(); var genreqry = d in db.movies orderby d.genre select d.genre; genrelst.addrange(genreqry.distinct()); viewbag.courses = new selectlist(genrelst); return view(); } } @{ viewbag.title = "home page"; } index @using(@html.beginform("index","home",formmethod.get)) { courses list; @html.dropdownlist("courses") }
Comments
Post a Comment