【发布时间】:2011-05-27 12:57:02
【问题描述】:
背景故事:要为我在 ASP.NET MVC 3 页面上显示的 jqGrid 指定正确的路由,我会这样做:
$('#jqgFlavors').jqGrid({
url: '@Url.Action("FlavorData", "IceCream")',
etc...
这将产生正确的路线,无论是在 Visual Studio 的本地运行(其中事物位于 "http://localhost:90125/IceCream" 之类的位置,或者在事物位于 "http://thehostsite/mydeployedsitename/IceCream" 之类的位置的已部署站点上)。
太好了。现在我遇到的问题是我使用网格中的onSelectRow 根据所选行的风味 id 值来执行主/详细信息。首先,我尝试这样做只是为了让路线正确:
onSelectRow: function(theRow){
$('#flavorDetails').load('@Url.Action("Details","IceCream", new {id = 42)})');
}
这样我就可以在IceCream 控制器的Details 操作中将值42 作为'id' 参数传递。这很好用,但我当然不想硬编码值 42,而是从网格本身中提取风味 id。所以我尝试引用flavorID,但似乎无法获得正确的语法:
onSelectRow: function(theRow){
var grid = jQuery('#jqgFlavors');
var flavorID = grid.jqGrid('getCell', theRow, 'FlavorID');
$('#flavorDetails').load('@Url.Action("Details","IceCream", new {id = flavorID)})');
}
我确定您明白我的意思 - 引用我从网格中提取的 flavorID 值。但我得到的是一个编译错误:
名称“flavorID”在当前上下文中不存在。
我怀疑这真的很简单。如何正确引用该变量?
【问题讨论】:
标签: javascript asp.net-mvc asp.net-mvc-3 jqgrid