控制器viewdata对象进入jquery

时间:2009-12-16 20:59:42

标签: jquery asp.net-mvc model-view-controller

我是mvc和jquery的新手 在我的控制器中我有 计算机[ “一”] = “TRUE”; 我想在jquery中访问viewdata对象 <%if(ViewData [“a”] ==“true”)%> { $( '#DIV1')显示()。 } 上面的jquery对我不起作用 有人可以说清楚这一点。 提前致谢

3 个答案:

答案 0 :(得分:3)

<script type="text/javascript">
    var ViewData_a = "<%= ViewData["a"] %>";
</script>

...

<script type="text/javascript">
    $(document).ready(function() {
        if(ViewData_a) {
            $('#div1').show();
        }
</script>

答案 1 :(得分:0)

您无法以这种方式访问​​ViewData。你需要做一些事情,比如将值放入隐藏字段然后检查它。

if ($('.HdnFieldClassName').val() == "true")
{
  $('#div1').show();
}

或类似的东西。

不确定您是否可以执行类似

的操作
if ( '<%= ViewData["a"] %>' == "true"

我不了解其他人,但我不喜欢在jQuery中使用控件名称。我更喜欢使用类名来获取控件。

<input type='text' class="jQueryMyTextBox" id='MyTextBox'>

$('.jQueryMyTextBox').val()

这只是意味着如果控件名称发生变化,您的代码仍然有效,您现在可以在表单等之间共享代码。

答案 2 :(得分:0)

当你在使用它时,请考虑使用JSTL / EL而不是scriptlet。

因此...

<%= ViewData["a"] %>

...变为

<c:out value="${ViewData.a}"/>

JSTL / EL经常免费为您提供一些东西。与此示例中一样,ViewData [“a”]的值将自动进行实体编码。