mvc 在视图razor里面写js代码(使用@包裹的里面写js)

方法一:https://blog.csdn.net/orichisonic/article/details/62046621

使用<text>这个伪元素来强制Razor从编译模式返回到内容模式:

<script type="text/javascript">

 @foreach (var item in Model) {

    <text>

      varmarkerlatLng = newgoogle.maps.LatLng(@(Model.Latitude), @(Model.Longitude));
      vartitle = '@(Model.Title)';
      vardescription = '@(Model.Description)';
      varcontentString = '<h3>'+ title + '</h3>'+ '<p>'+ description + '</p>'
      varinfowindow = newgoogle.maps.InfoWindow({
          content: contentString
      });
      varmarker = newgoogle.maps.Marker({
          position: latLng,
          title: title,
          map: map,
          draggable:false
      });
      google.maps.event.addListener(marker,'click',function() {
          infowindow.open(map, marker);
      });
   </text>
      }

</script>

方法二: 使用@:

@foreach (var item in Model) {
@:addMarker(@item.Latitude, @item.Longitude, '@item.Title', '@item.Description');
}

 

在.NET的Razor视图引擎中编JavaScript代码是Web开发中常见的操作,尤其在ASP.NET MVC或ASP.NET Core项目中。Razor是一个轻量级的服务器端模板引擎,用于快速生成HTML页面,并能够与客户端脚本如JavaScript无缝集成。以下是在Razor视图中嵌入JavaScript代码的一些基本方式: 1. 内联JavaScript:可以在Razor视图文件中直接编JavaScript代码Razor引擎默认会将JavaScript代码输出到生成的HTML中。 ```html <script type="text/javascript"> $(function() { // 这里可以添加你的JavaScript代码 }); </script> ``` 2. 外部JavaScript文件:为了保持代码组织和可维护性,可以将JavaScript代码放在外部文件中,并在Razor视图中引用它们。可以在`_Layout.cshtml`文件的`<head>`部分或者页面底部添加引用。 ```html <head> <!-- 其他内容 --> <script src="~/path/to/your/script.js" type="text/javascript"></script> </head> ``` 3. Razor代码块:在Razor视图使用`@{}`代码块来输出JavaScript变量或者动态生成JavaScript代码片段。 ```html <script type="text/javascript"> var myVariable = @Json.Serialize(Model.MyData); </script> ``` 4. 在事件处理程序中:可以在Razor语法中直接编JavaScript代码作为HTML元素的事件处理程序,例如点击按钮时执行的代码。 ```html <button onclick="alert('@Model.Message')">点击我</button> ``` 5. 使用Razor语法控制JavaScript的执行:可以在JavaScript代码使用Razor语法来动态控制逻辑,这对于根据服务器端模型的数据来改变客户端的行为特别有用。 ```html <script type="text/javascript"> var options = { url: '@Url.Action("ActionName", "ControllerName")' }; </script> ``` 在编JavaScript代码时,请确保遵守Razor语法的规则,特别是在输出JavaScript代码字符串时要注意避免潜在的XSS攻击和确保正确的转义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值