如何在Javascript中显示viewbag元素?

时间:2014-05-13 07:59:49

标签: javascript jquery asp.net-mvc razor

如何在Jquery的Append方法中调用Method?

我有HTML代码,我在点击按钮时使用append方法()。 我想使用循环追加带有viewbag数据的HTML。 这是我的代码,是吗?

        <html>
        <body>
        <div class="row-fluid" id="MyCode">
        </div>
        <button name="AddCode"></button>
        </body>
        </html>

         <script type="text/javascript">

         $(document).ready(function ()
           {

               $('#AddCode').click(function () {

                     $('#MyCode').append("<di ><div class='span2'>" +

                      //I want to call the function here... 
                     AddDivs()
           );

        });

 function AddDivs()
 {
  var ht="";
  @foreach (var item in ViewBag.LocationList)
{
 ht += "<div id='"+item.Id+"_"+item.Name+"'></div>";
  }
  }

 });
 </script>

它显示未定义。

2 个答案:

答案 0 :(得分:0)

使用以下内容更改foreach循环:

@foreach (var item in ViewBag.LocationList)
{
    // these lines are client codes that is in server codes
    <text>ht += "<div id='" + @item.Id + "_" + @item.Name + "'></div>";</text>
}

如果您不在<text>中编写js代码,razor会认为ht是服务器变量。

答案 1 :(得分:0)

script标签必须位于body标签内

        <script type="text/javascript">
             ...                
        </script>
     </body>
</html>