У меня есть мнение со следующим бритвой ...Какая разница с этой бритвой?
foreach (var result in @Model.Results)
{
if (result.Location != null && result.Location.Lat != null && result.Location.Long != null)
{
<script type="text/javascript" language="javascript">
var MapDataObj = (function() {
mapDataObj = new Object();
mapDataObj.Lat = @result.Location.Lat;
mapDataObj.Long = @result.Location.Long;
mapDataObj.BasedInArea = 'True';
SearchMapDataProperties.searchResultsArray.push(mapDataObj);
return {
};
}());
</script>
}
Но когда я изменить его ...
foreach (var result in @Model.Results)
{
if (result.Location != null && result.Location.Lat != null && result.Location.Long != null)
{
<script type="text/javascript" language="javascript">
var MapDataObj = (function() {
mapDataObj = new Object();
mapDataObj.Lat = result.Location.Lat;
mapDataObj.Long = result.Location.Long;
mapDataObj.BasedInArea = 'True';
SearchMapDataProperties.searchResultsArray.push(mapDataObj);
return {
};
}());
</script>
}
(я удалил «@» символ из result.Location object) Я получаю исключение нулевой ссылки в result.Location.
Я действительно смущен разницей. Очевидно, он все еще рассматривает его как C#, потому что я получаю YSOD. Я просто не могу понять, в чем разница ...
Пит
Никогда не отмечал ошибку JavaScript, вызывающую исключения .NET и вызывающие YSOD. –
Грант согласился. Я не думаю, что получаю YSOD, если это ошибка JavaScript. – Exitos