我无法判断以下问题是我的代码还是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
答案 0 :(得分:3)
我同意CD Smith仔细检查您的数据类型。如果要将“ID”字段传递给变量名称“Key”下的控制器。您需要使用RouteKey()方法。
.DataKeys(keys => keys.Add(s => s.ID).RouteKey("Key"))