• ASP.NET MVC如何在Action中返回脚本并执行


    我们都知道在aspx页面的cs文件中只要用Respos.Write("<script></scritp>")就可以在前台执行脚本

    但是在MVC中就不一样了,返回脚本要给定脚本类型返回。如果是使用js或者jq的ajax去请求可以直接使用毁掉函数来执行返回脚本,但如果给一个button或者一个a标签添加点击事件时并且要求后台可以返回并执行脚本,可以有一下几种情况。

    第一,return Conten(("<script>alert('666')</scritp>"),这样你会发现脚本也会执行但是点击确定后会出现一片空白,这还是由于action的特殊返回条件。

    第二,  return JavaScript("");返回脚本,这样会发现刷新的脚本还是可以执行但是弹窗alert()根本不会执行。对于这种用法其实才是经常用到的,这时我们只需要在标签上添加 data-ajax-method="post" 和属性data-ajax="true"例如:

    <a class="btn"  data-ajax-method="get" data-ajax="true">添加</a>     

    按照第二种试一下是不是完全没问题。

    如果按照上述操作还是不能执行js脚本,分析如下:

    1.是否引用jquery.unobtrusive-ajax.js,这个js是ajax执行的先决条件。

    2.引用js后是否在配置文件中配置UnobtrusiveJavaScriptEnabled

      <appSettings>
     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
     </appSettings>
  • 相关阅读:
    python两个dict相加
    rpm命令
    python logging模块不支持多进程写到一个log文件
    技术论坛地址收集
    visudo命令编辑修改/etc/sudoers配置文件
    健康是什么
    .net文件类型种种
    禁止脚本的运行
    静态页面的值传递
    datagrid数据导出到excel文件给客户端下载的几种方法 (转)
  • 原文地址:https://www.cnblogs.com/loyung/p/7028936.html
Copyright © 2020-2023  润新知