好吧,我正在寻找jQuery的jqGrid插件并尝试将其合并到ASP.NET MVC应用程序中。由于陷阱周围的各种博客文章,我有所有基本的功能。
我现在想要锻炼的是如何从控制器返回数据,以便在编辑表单上填充选择选项。
我知道我只需要为jqGrid提供一个URL来调用以取回选项,但对于我的生活,我无法想象(可能是太少咖啡?)如何从Controller中呈现这个。 / p>
例如,选择列表值可以硬编码为“1:one; 2:two”,我只需要返回该表单中的json对象吗?还是一个字符串?
非常感谢任何帮助。
答案 0 :(得分:1)
如果您还没有看过,我认为这篇文章可以帮助您
http://shashankshetty.wordpress.com/2009/03/04/using-jsonresult-with-jquery-in-aspnet-mvc/
答案 1 :(得分:1)
为了填充dynamicaly,选择下拉列表只需在jqgrid的创建之上创建一个变量。
var countries = $.ajax(
{url:'/Specimens/GetAreaStrList/',async: false,
success: function(data, result)
{
if (!result)
alert('Failure to retrieve the Countries.');
}
}
).responseText;
然后填充网格
{name:'AreaID', index:'AreaID', width:150, align:'left', editable:true,
edittype:"select",editoptions:{size: 71} }
],
onSelectRow: function(id)
{
if(id && id !== lastsel2)
{
jQuery('#list').restoreRow(lastsel2);
jQuery('#list').editRow(id, true);
lastsel2 = id;
}
},
loadComplete: function()
{
jQuery('#list').setColProp('AreaID', {editoptions: {value: countries}});
},
控制器中的代码:
public ActionResult GetAreaStrList() { 返回内容(“171:俄罗斯联邦; 86:另一个国家”); }
我从这个博客中受到启发: http://geekswithblogs.net/renso/archive/2009/07/02/jqgrid-dynamically-loading-select-options.aspx
答案 2 :(得分:0)
哎呀......我遇到的主要问题是试图找出控制器动作的返回类型。最后它很简单,我看不到树木。我最终得到了一个来自Controller动作的简单字符串输出:
public string ObjectList()
{
// replace this with the code to construct your list values
return "1:one;2:two";
}
承认我错过了它很简单。