Если вы используете MVC3 (не работает с 2), вы можете легко использовать ViewBag, как показано ниже, но помните два момента, которые легко забыть и могут вызвать головную боль:
- Никогда не ставьте точку с запятой в конце @ ViewBag.myVariable
- Если вы передаете строку, поставьте "до и после вашего @ ViewBag.myVariable. Например:
Это верно:
$(function () {
var path = "@ViewBag.helpPath"
path = "@Url.Content("~/route/action/")" + path;
$('#help-content').load(path);
});
Однако, если вы используете:
$(function () {
var path = @ViewBag.helpPath
path = "@Url.Content("~/route/action/")" + path;
$('#help-content').load(path);
});
MVC меняет это на:
$(function () {
var path = c:\\doc\\path
path = "@Url.Content("~/route/action/")" + path;
$('#help-content').load(path);
});
Какой JavaScript не может его проанализировать, и в результате получится какая-то ужасная ошибка. Просто то, что я сделал и потратил впустую мое время, чтобы поделиться этим.