需要从mvc调用jquery

时间:2013-07-09 22:44:29

标签: jquery asp.net-mvc asp.net-mvc-4

我是jQuery的新手,正在寻找一种在MVC 4中显示/隐藏部分视图的方法。我在下面的链接中找到了一个很好的例子,并在这里复制了部分代码,但它依赖于按钮单击事件。我需要的是直接通过视图中的代码调用函数,虽然我不知道如何为此目的重写它,但我相信这是从视图剃刀代码调用它的方式:

  <script type="text/javascript">Foo("#div1")</script>

http://forums.asp.net/t/1743071.aspx/1

<style type="text/css">
.inv
{
    visibility: hidden;
}
.vis
{
    visibility: visible;
}
</style>

<div class="inv" id="div1">
    <h2>Div 1</h2>
    <p>
        Hidden at start
    </p>
    <button class="showhide">Hide this div again</button>
</div>
 <script type="text/javascript">
    $(function () {
        $(".showhide").click(function () {
            $("#div1").toggleClass("vis");
            return false;
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

使用下面的代码,当文档准备就绪时将调用Foo方法,因此不需要通过单击触发它。它将以<div>的身份传递。

如果你想根据ViewBag中的值有条件地调用'Foo',你只需阻止视图呈现调用的JS代码:

控制器:

ViewBag.SomeBooleanProperty = true;

查看:

 <script type="text/javascript">
   function Foo(divId)
   {
      $(divId).toggleClass("vis");
   }    

 @if(ViewBag.SomeBooleanProperty)
 {
        $(function () {
            Foo("#div1");
        });
 }
</script>