这是我使用Razor的jQuery代码:
$("#GroupC_grup_name").attr('value','@foreach (SelectListItem sel in (SelectList)ViewData["Gruplar"]){ @sel.Text }') $("#GroupC_id").attr('value','@foreach(SelectListItem sel in (SelectList)ViewData["Gruplar"]){ @sel.Value }')
我想将它们合并在一起,因为我不想两次调用ViewData [“Gruplar”].
我可以这样做吗?
@foreach(SelectListItem sel in (SelectList)ViewData["Gruplar"]){ @:$("#GroupC_grup_name").attr('value','@sel.Text'); @:$("#GroupC_id").attr('value','@sel.Value'); }
我已经尝试了我能想到的一切,但仍然无法达到我想要的效果.
解决方法
我仔细阅读并理解你想做什么.然而,你的例子是令人困惑的. (似乎每个人都回答)
您在第二个示例中所做的工作应该可以正常工作,您可以将jQuery包装在< text>< / text>中元素,如果这也有帮助.如果只有一个价值你可以
<script type='text/javascript'> @{ var x = ((SelectList)ViewData["Gruplar"]).First(); } $("#GroupC_grup_name").attr('value','@x.Text'); $("#GroupC_id").attr('value','@x.Value'); </script>
你可以通过多种方式在jquery中完成剃刀.它与带有html的剃刀基本相同.
你想在客户端执行剃刀然后就不会发生这种情况. Razor在被发送到客户端之前执行.