所有
我试图在一些JS中将Razor变量的值赋给属性(error :)。
我在逗号上的VS2012中出现语法错误,紧跟在我的Razor变量之后。可能需要某种分隔符,所以Razor知道如何处理变量之后的文本?
我该怎么做?应该够简单。感谢
@model MyProject.Models.ViewModels.Shared.NotificationAlertViewModel
@{
string isError = (Model.IsErrorMessage ? "true" : "false");
}
<script type="text/javascript">
$('#loading-area').hide();
$.notification({
content: @Model.Message,
error: @isError,
timeout: 5000
});
</script>
答案 0 :(得分:1)
JavaScript并不知道@isError
的含义或访问方式。使用...
$.notification({
content: @Model.Message,
error: '@isError',
timeout: 5000
});
引号告诉Razor以JS可以理解的方式返回变量的值。
答案 1 :(得分:0)
试试这个, 在ViewBag中设置值并使用它。
@model MyProject.Models.ViewModels.Shared.NotificationAlertViewModel
<script type="text/javascript">
var @isError='@(ViewBag.IsErrorMessage)';
$('#loading-area').hide();
$.notification({
content: @Model.Message,
error: @isError,
timeout: 5000
});
</script>