我是mvc和jquery的新手 在我的控制器中我有 计算机[ “一”] = “TRUE”; 我想在jquery中访问viewdata对象 <%if(ViewData [“a”] ==“true”)%> { $( '#DIV1')显示()。 } 上面的jquery对我不起作用 有人可以说清楚这一点。 提前致谢
答案 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”]的值将自动进行实体编码。