То, как вы его используете, опасно. Представьте, что некоторые из ваших констант содержат кавычки или, что еще хуже, некоторые другие опасные символы =>, которые могут нарушить ваши сценарии JavaScript.
Я бы порекомендовал вам написать действие контроллера, которое будет обслуживать все константы как javascript:
public ActionResult Constants()
{
var constants = typeof(Constants)
.GetFields()
.ToDictionary(x => x.Name, x => x.GetValue(null));
var json = new JavaScriptSerializer().Serialize(constants);
return JavaScript("var constants = " + json + ";");
}
, а затем в вашей компоновке ссылка на этот скрипт:
<script type="text/javascript" src="@Url.Action("Constants")"></script>
Теперь, когда вам нужна константа в ваших скриптах, просто используйте ее по имени:
<script type="text/javascript">
alert(constants.T_URL);
</script>