Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MVC3模式中调用javascript_Javascript_Asp.net Mvc 3 - Fatal编程技术网

如何在MVC3模式中调用javascript

如何在MVC3模式中调用javascript,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,我不熟悉ASP.NET MVC 3模式,我想在视图(或控制器)中调用JavaScript函数,以在div或span对象中显示结果 我的解决方案 我创建了一个新的ASP MVC3解决方案(使用Razor) 在脚本文件夹中添加新的JavaScript 在新的JavaScript文件中添加一个简单的脚本函数,如下所示: function HolaMundo(){ return "hola desde javascript"; } <p> <div id="map_canva

我不熟悉ASP.NET MVC 3模式,我想在视图(或控制器)中调用JavaScript函数,以在
div
span
对象中显示结果

我的解决方案
  • 我创建了一个新的ASP MVC3解决方案(使用Razor)
  • 在脚本文件夹中添加新的JavaScript
  • 在新的JavaScript文件中添加一个简单的脚本函数,如下所示:

    function HolaMundo(){
    return "hola desde javascript";
    }
    
    <p>
        <div id="map_canvas2" style = "width:100%; height:100%">
            result from Javascript
        </div>
    </p>
    
    <script type="text/javascript">
        $(document).ready(function() {
            $('#map_canvas2').text(HolaMundo());
        });
    </script>
    
  • 从默认控制器的
    index.csHTML
    文件中添加来自JavaScript的引用

    @section JavaScript
    {
        <script src="@Url.Content("~/Scripts/Maps.Helper.js")" type="text/javascript">  
        </script>
    }
    
    @节JavaScript
    {
    }
    
  • 最后为函数添加一个调用:

    <p>
        <div id="map_canvas2" style = "width:100%; height:100%">
            result from Javascript
        </div>
    </p>
    <script type="text/javascript">
        $(document).ready(function() {
         <text>
        $('#map_canvas2').text(HolaMundo());
         </text>
        });
    </script>
    
    
    来自Javascript的结果
    

    $(文档).ready(函数(){ $('#map_canvas2')。文本(HolaMundo()); });
  • 结果 不起作用



    那么,有人能帮我吗?非常感谢您的帮助。

    您应该从脚本中删除
    标记,以便视图如下所示:

    function HolaMundo(){
    return "hola desde javascript";
    }
    
    <p>
        <div id="map_canvas2" style = "width:100%; height:100%">
            result from Javascript
        </div>
    </p>
    
    <script type="text/javascript">
        $(document).ready(function() {
            $('#map_canvas2').text(HolaMundo());
        });
    </script>
    
    您应该确保在
    \u Layout.cshtml
    中的某个地方注册了。例如在
    中。还要确保已将jQuery脚本包括到页面中:

    <head>
        <meta charset="utf-8" />
        <title>@ViewBag.Title</title>
        <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
        <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
        @RenderSection("JavaScript")
    </head>
    ...
    
    
    @视图包。标题
    @渲染部分(“JavaScript”)
    ...
    
    或者在关闭
    标记之前更好,建议在此处放置脚本,以避免在获取DOM时阻塞浏览器加载DOM:

        ...
        <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
        @RenderSection("JavaScript")
    </body>
    </html>
    
    。。。
    @渲染部分(“JavaScript”)
    
    欢迎来到StackOverflow Raymundo,我已经编辑了您的文章以使用列表和代码块,您将来应该可以这样做,它极大地提高了文章的可读性,并允许用户提供更好的答案。@Raymundo我敢打赌某个地方发生了javascript错误,可以帮助您调试问题。如果您使用的是Chrome,您可以找到javascript控制台(CNTR-SHIFT-I)。如果您使用的是FireFox,那么请使用菜单中的开发者工具(不确定它们在哪里)。我还认为IE也有类似的javascript调试。尝试一下,在这里发布你的错误来改进你的问题。非常感谢Darin,我现在更清楚了,我的问题已经解决了,我的JS中有一个错误,但是我可以在Kingdago下看到javascript控制台的快捷方式。我非常感谢你=D