for reason viewdata outputs html code though don't want do.
<br /><a href="javascript:setdate('2015-04-01');">2015-04-01</a> <br /><a href="javascript:setdate('2015-04-02');">2015-04-02</a> <br /><a href="javascript:setdate('2015-04-07');">2015-04-07</a> <br /><a href="javascript:setdate('2015-04-08');">2015-04-08</a> <br /><a href="javascript:setdate('2015-04-09');">2015-04-09</a> <br /><a href="javascript:setdate('2015-04-10');">2015-04-10</a> but want this
du har ej rapporterat tid följande dagar: 2015-04-01 2015-04-02 2015-04-07 2015-04-08 2015-04-09 2015-04-10 this part of controller:
var missingdays = new databaselayer().getconsultantmissingdays(constants.currentuser(user.identity.name)); if (missingdays.count == 0) { viewdata["missingdays"] = ""; } else viewdata["missingdays"] = "du har ej rapporterat tid följande dagar:<br />" + string.join("<br />", missingdays.select(x => x.tomissingdatejavascript())); viewdata.model = projectdata; return view(); } and view:
<div> @viewdata["missingdays"] @html.validationsummary() </div> and extensions
public static string tomissingdatejavascript(this datetime value) { string datestring = value.tostring("yyyy-mm-dd"); return "<a href=\"javascript:setdate('" + datestring + "');\">" + datestring + "</a>"; } public static bool isweekend(this datetime value) { return value.dayofweek == dayofweek.saturday || value.dayofweek == dayofweek.sunday; } but see html code in browser 
in mvc view supposed execute work related generating html, not controller. can rewrite , simplify both view , controller follows:
view:
@foreach(var date in viewbag.missingdays){ var isodate=date.tostring("yyyy-mm-dd"); <br/><a href="javascript:setdate('@isoddate');">@isodate</a> } controller:
//assuming missingdays list<datetime> or other ienumerable<datetime> viewbag.missingdays=missingdays;
Comments
Post a Comment