2013-07-09 3 views
0

Я новичок в jQuery и искал способ показать/скрыть частичные представления в MVC 4. Я нашел очень хороший пример в приведенной ниже ссылке и скопировал часть кода здесь, но это зависит от события нажатия кнопки. Что мне нужно, чтобы вызвать функцию непосредственно с помощью кода в представлении, и хотя я не знаю, как переписать его для этой цели я считаю, что это, как это будет вызываться из кода вид бритвы:Необходимо вызвать jquery из mvc

<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> 

ответ

0

с ниже коде, метод Foo будет вызвана, когда документ будет готов, так что не нужно быть вызвана с помощью мыши. Он будет передан по идентификатору <div>.

Если вы хотите условно назвать «Foo» на основе значения в ViewBag, вы просто предотвратить вид от рендеринга код JS, который делает вызов:

Контроллер:

ViewBag.SomeBooleanProperty = true; 

Просмотр :

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

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

Благодарим за ответ. Я попытался вызвать функцию как показано ниже, но он дает: Ошибка выполнения JavaScript: «Foo» не определено

+0

Я понял, что вы сказали о функции когда документ готов, но есть ли вообще вызов только на основе, например, значения ViewBag? –

+0

@BenJunior Code обновлен, поэтому он вызывается только в том случае, если значение в ViewBag истинно. –

Смежные вопросы