首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web forms sytax to Razor sytax

Web forms sytax to Razor sytax
EN

Stack Overflow用户
提问于 2013-06-17 15:07:25
回答 2查看 110关注 0票数 0

我正在做NerdDinner。我想使用Razor sytax而不是Web forms。当我调试项目的时候。它说“模型”没有定义。显示的全部错误如下:

代码语言:javascript
复制
Unhandled exception at line 133, column 9 in http://localhost:52372/Dinner/Create

0x800a1391 - Microsoft JScript runtime error: 'Model' is undefined

它生成了一个名为

代码语言:javascript
复制
Create[dynamic]

这个文件是什么意思,我的Razor语法有什么问题。

提前谢谢。

原始语法

代码语言:javascript
复制
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2" type="text/javascript"></script> 
<script src="/Scripts/Map.js" type="text/javascript"></script>  

<div id="theMap"> 
</div>  

<script type="text/javascript">      
$(document).ready(function() {      
var latitude = <%=Model.Latitude%>;    
var longitude = <%=Model.Longitude%>;  

if ((latitude == 0) || (longitude == 0))          
LoadMap();   

else          
LoadMap(latitude, longitude, mapLoaded); 
}); 

function mapLoaded() {      
var title = "<%=Html.Encode(Model.Title) %>";    
var address = "<%=Html.Encode(Model.Address) %>";      
LoadPin(center, title, address);  
map.SetZoomLevel(14); 
}  
</script>

Razor语法

代码语言:javascript
复制
@model NerdDinner.Models.Dinner

<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2" type="text/javascript"></script> 
<script src="/Scripts/Map.js" type="text/javascript"></script> 

<div id="theMap">
    </div>

<script type="text/javascript">

    $(document).ready(function () {

        var latitude = Model.Latitude;
        var longitude =Model.Longitude;

        if ((latitude == 0) || (longitude == 0))
            LoadMap();
        else
            LoadMap(latitude, longitude, mapLoad);    
    });

    function mapLoad()
    {

        var title = "@Html.Encode(Model.Title)"
        var address = "@Html.Encode(Model.Address)"

        LoadPin(center,title,address);
        map.setZoomLevel(14);
    }

    </script>
EN

回答 2

Stack Overflow用户

发布于 2013-06-17 15:08:30

代码语言:javascript
复制
var latitude = Model.Latitude;
var longitude =Model.Longitude;

应该是:

代码语言:javascript
复制
var latitude = @Html.Raw(Json.Encode(Model.Latitude));
var longitude = @Html.Raw(Model.Longitude));

还有这一点:

代码语言:javascript
复制
var title = "@Html.Encode(Model.Title)"
var address = "@Html.Encode(Model.Address)"

应该是:

代码语言:javascript
复制
var title = @Html.Raw(Json.Encode(Model.Title));
var address = @Html.Raw(Json.Encode(Model.Address));
票数 1
EN

Stack Overflow用户

发布于 2013-06-17 15:56:21

试试这个:

代码语言:javascript
复制
var latitude = @Model.Latitude;
var longitude = @Model.Longitude;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17142066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档