Generating Dynamic Javascript with MVC Razor | Quisitive
Generating Dynamic Javascript with MVC Razor
May 1, 2012
Quisitive

I struggled a bit attempting to generate dynamic javascript in an MVC Razor page view.  I kept getting the following error:  Too many characters in character literal.

I did a little research and found the answer.  You will need to include
@using System.Text; at the top of your page view.

To build my javascript, I included the following code block within my <script> tags:

@{
    StringBuilder sb = new StringBuilder();
    foreach (GetBillingCodes_Result billingCode in Model.BillingCodes)
    {
        sb.Append("AddBillingCode('" + billingCode.billing_code + "'");
        sb.Append(", '" + billingCode.travel + "'");
        sb.Append(", '" + billingCode.billing_code_type + "'");
        sb.Append(", '" + billingCode.billing_rate + "'");
        sb.Append(", '" + billingCode.taxable + "'");
        sb.Append(", '" + billingCode.discount + "'");
        sb.Append(", '" + billingCode.C100_club + "'");
        sb.Append(", '" + billingCode.active + "'");
        sb.Append(");");
    }
    @MvcHtmlString.Create(sb.ToString());
}