-1

我有以下代码:

<html> <head>
      <!-- Required CSS --> <link type="text/css" rel="stylesheet" href="http://yui.yahooapis.com/2.9.0/build/treeview/assets/skins/sam/treeview.css"> <!-- Optional CSS for for date editing with Calendar--> <link type="text/css" rel="stylesheet" href="http://yui.yahooapis.com/2.9.0/build/calendar/assets/skins/sam/calendar.css"> <!-- Dependency source file -->  <script src="http://yui.yahooapis.com/2.9.0/build/yahoo-dom-event/yahoo-dom-event.js"
></script> <!-- Optional dependency source file -->  <script src="http://yui.yahooapis.com/2.9.0/build/animation/animation-min.js" type="text/javascript"></script> <!-- Optional dependency source file for date editing with Calendar-->  <script src="http://yui.yahooapis.com/2.9.0/build/calendar/calendar-min.js"
></script> <!-- Optional dependency source file to decode contents of yuiConfig markup attribute-->  <script src="http://yui.yahooapis.com/2.9.0/build/json/json-min.js" ></script> <!-- TreeView source file -->  <script src="http://yui.yahooapis.com/2.9.0/build/treeview/treeview-min.js"
></script>
     </head> <body class="yui-skin-sam">

@model IEnumerable< ESimSol.BusinessObjects.MenuTreeNode>           

<input type="button" id="btnAdd" value="Refresh" /> <label id="lblTest"> </label> <div id="treeDiv1"> <ul>    
    @foreach (var item in Model)
    {
        if (item.ParentID == 0)
        {
            <li>
                @Html.DisplayFor(modelItem => item.MenuName)  
                <ul>
                    @Html.Partial("TreeViewControl", item)   
                </ul>
             </li> 
        }
    }   </ul> </div> </body> </html>


<script type="text/javascript">

    $(document).ready(function () {
        treeInit();
    });

    var tree;
    function treeInit() {
        tree = new YAHOO.widget.TreeView(document.getElementById("treeDiv1"));
    }

</script>

当我想执行我的脚本时,我面临以下异常:

Microsoft JScript runtime error: Object expected

任何人都给我一个完整的参考,使用 MVC3 RAZOR View 引擎执行 javascript?

4

1 回答 1

0

请记住,将 javascript 与 MVC3/Razor 一起使用与将其与任何其他页面一起使用没有什么不同 - JS 是一种客户端语言,因此它始终与呈现的 HTML 一起工作。

我在您的 JS 代码中没有看到任何突出的错误,但您的<script>元素应该在<body>元素内。大多数浏览器都可以处理它,所以我怀疑这是你的问题。

我建议您检查您的脚本引用以验证它们是否正确,然后进一步查看脚本。您在 IE 中遇到的脚本错误应该引用一行 #,您可以使用它来查看页面源(呈现的页面,而不是 razor 页面)以尝试定位错误的来源。

于 2012-06-24T14:55:27.653 回答