Telerik MVC Grid Delete问题,Delete不会将字符串键值传递给控制器

时间:2012-05-23 17:59:17

标签: asp.net-mvc telerik grid

我无法判断以下问题是我的代码还是Telerik错误。谢谢你的帮助。

我的Telerik .cshtml代码如下所示。请注意,s.ID是一个字符串而不是整数。

...
.ToolBar(commands => commands.Insert())
.DataKeys(keys => keys.Add(s => s.ID))
.DataBinding(dataBinding =>
    {
        dataBinding.Server()
        .Select("Edit", "DataImport")
        .Insert("Insert", "DataImport")
        .Update("Save", "DataImport")
        .Delete("Delete", "DataImport");
    })
.Columns(columns =>
...

在控制器端:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Delete(string key) // Here, the key comes in as null

但是,使用Save方法可以正常工作。下面的“key”被正确设置为行的字符串键值。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save(string key, Model model) // Here, the key is correct

在这两种情况下,网址看起来都是正确的,例如... /删除/ keyHere

1 个答案:

答案 0 :(得分:3)

我同意CD Smith仔细检查您的数据类型。如果要将“ID”字段传递给变量名称“Key”下的控制器。您需要使用RouteKey()方法。

.DataKeys(keys => keys.Add(s => s.ID).RouteKey("Key"))