我试图在控制器上调用一个方法,但它给了我一个空错误。我试图在代码上执行 getKeyValue 但它不起作用。我不知道我做错了什么。谢谢你的帮助。
控制器代码
public ActionResult EditRecord(int id)
{
int x = id;
return PartialView("~/Views/FileMaintenance/Principal/EditPrincipal.cshtml", PrincipalInfo);
}
DevExpress GridView 代码
settings.Columns.Add(column =>
{
column.FieldName = "Unbound";
column.Caption = "Action";
column.UnboundType = DevExpress.Data.UnboundColumnType.Object;
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.True;
column.ReadOnly = false;
column.ColumnType = MVCxGridViewColumnType.ButtonEdit;
column.SetDataItemTemplateContent((c) =>
{
Html.DevExpress().Button(b =>
{
b.Name = "btnVE" + c.KeyValue;
b.Text = "V/E";
b.UseSubmitBehavior = false; // prevent default submit action
b.EnableClientSideAPI = true; // add this line if not sure
b.ClientSideEvents.Click = string.Format("function(s, e) {{ window.location = '{0}?key={1}'; }}",
DevExpressHelper.GetUrl(new { Controller = "ViewPrincipal", Action = "EditRecord" }),
c.KeyValue.ToString());
}).GetHtml();
});
});
错误
参数字典包含“WMS_Web.Controllers.FileMaintenance.ViewPrincipalController”中方法“System.Web.Mvc.ActionResult EditRecord(Int32)”的不可为空类型“System.Int32”的参数“id”的空条目。可选参数必须是引用类型、可为空类型或声明为可选参数。参数名称:参数
您没有id
在DevExpressHelper.GetUrl
方法中提供参数。你需要设置它。在下面的示例中,我将值设置为 1。我不明白为什么当所需的是“id”时在查询字符串中放置“键”。将“key”更改为“id”也应该可以解决您的问题。
settings.Columns.Add(column =>
{
column.FieldName = "Unbound";
column.Caption = "Action";
column.UnboundType = DevExpress.Data.UnboundColumnType.Object;
column.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.True;
column.ReadOnly = false;
column.ColumnType = MVCxGridViewColumnType.ButtonEdit;
column.SetDataItemTemplateContent((c) =>
{
Html.DevExpress().Button(b =>
{
b.Name = "btnVE" + c.KeyValue;
b.Text = "V/E";
b.UseSubmitBehavior = false; // prevent default submit action
b.EnableClientSideAPI = true; // add this line if not sure
b.ClientSideEvents.Click = string.Format("function(s, e) {{ window.location = '{0}'; }}",
DevExpressHelper.GetUrl(new { Controller = "ViewPrincipal", Action = "EditRecord", id = c.KeyValue.ToString() }));
}).GetHtml();
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句