在创建视图期间使用javascript - mvc.net

时间:2012-08-02 20:01:15

标签: javascript jquery asp.net-mvc

我使用.net的MVC模式,我有以下代码:

<ol class='TextBoxesGroup'>
    @foreach (Employee e in rm.employees)
    {
         <script type="text/javascript">addPrefRow($(this),@Html.Raw(Json.Encode(e.LanId)), @Html.Raw(Json.Encode(e.FirstName+" "+e.LastName)));</script>
    }
</ol>

问题是,在函数&#34; addPrefRow&#34;第一个参数为null。我希望它是一个表示有序列表的JQuery对象。

功能&#34; addPrefRow&#34;创建一些HTML。我会把html直接放在上面的代码中,但是有时候这个函数被调用了,我不想在两个地方维护html。

有办法做到这一点吗?

谢谢!

注意:如果我执行javascript alert('test');就行了。那么为什么我不能在这里执行其他的javascript?

1 个答案:

答案 0 :(得分:0)

 @{
     // use this var to store the current list id.
     var listId = "";
  }

然后为每个列表提供唯一ID:

 @{
      listId = Guid.NewGuid().ToString("N");
  }

...并使用它来获取列表元素:

<ol class='TextBoxesGroup' id="@listId">

您还需要在jQuery.domready()事件中调用addPrefRow():

<script type="text/javascript">$(function(){addPrefRow($("#@listId"), ...;});</script>