Я использую Devexpress
при использовании UpdateRowRouteValues в сетке MVC он возвращает всплывающее окно, полное HTML-кода
В качестве завершенной точки мне также нужно отправить некоторый параметр в мой контроллер, и я использую событие begincallback для отправки
пожалуйста, подскажите, как использовать UpdateRowRouteValues без ошибок
мой пример кода, как показано ниже
var grid = Html.DevExpress().GridView(settings =>
{
settings.Name = "gvEditing";
settings.KeyFieldName = "StockID";
settings.CallbackRouteValues = new { Controller = "Home", Action = "HeijunkaAlternativeWorkOrderPartial", HeijunkaId = ViewData["HeijunkaID"] };
settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "Home", Action = "UpdateFromHeijunkaAlternative" };
settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "Home", Action = "DeleteFromHeijunkaAlternative" };
settings.SettingsEditing.Mode = GridViewEditingMode.EditForm;
settings.SettingsBehavior.ConfirmDelete = true;
settings.Width = Unit.Percentage(100);
settings.Columns.Add(column =>
{
column.FieldName = "StockName";
column.Width = Unit.Percentage(25);
column.Index = 3;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = false;
column.ReadOnly = true;
});
settings.Columns.Add(column =>
{
column.FieldName = "F_SCode";
column.Width = Unit.Percentage(20);
column.Index = 3;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = false;
column.ReadOnly = true;
});
settings.Columns.Add(column =>
{
column.FieldName = "RackCode";
column.Width = Unit.Percentage(15);
column.Index = 4;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = false;
column.ReadOnly = true;
});
settings.Columns.Add(column =>
{
column.FieldName = "PartType";
column.Width = Unit.Percentage(10);
column.Index = 5;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = false;
column.ReadOnly = true;
});
settings.Columns.Add(column =>
{
column.FieldName = "Count";
column.Width = Unit.Percentage(10);
column.Index = 6;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = true;
column.EditorProperties().TextBox(p =>
{
p.Width = Unit.Percentage(100);
column.CellStyle.BackColor = System.Drawing.Color.Orange;
});
});
settings.Columns.Add(column =>
{
column.FieldName = "Description";
column.Width = Unit.Percentage(20);
column.Index = 7;
column.Settings.AllowAutoFilter = DefaultBoolean.False;
column.Settings.ShowEditorInBatchEditMode = true;
column.CellStyle.BackColor = System.Drawing.Color.Orange;
column.EditorProperties().Memo(p =>
{
p.DisplayFormatString = "c";
p.DisplayFormatInEditMode = true;
});
});
settings.EditFormLayoutProperties.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
settings.EditFormLayoutProperties.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 700;
settings.CommandColumn.Visible = true;
settings.CommandColumn.ShowDeleteButton = true;
settings.CommandColumn.ShowEditButton = true;
settings.CommandColumn.ShowNewButton = false;
settings.CommandColumn.ShowNewButtonInHeader = false;
settings.CommandColumn.ButtonRenderMode = GridCommandButtonRenderMode.Image;
settings.SettingsCommandButton.NewButton.Image.IconID = IconID.ActionsAdd16x16;
settings.SettingsCommandButton.EditButton.Image.IconID = IconID.EditCopy16x16;
settings.SettingsCommandButton.DeleteButton.Image.IconID = IconID.EditDelete16x16;
settings.SettingsCommandButton.UpdateButton.Image.IconID = IconID.SaveSave16x16;
settings.SettingsCommandButton.CancelButton.Image.IconID = IconID.ActionsCancel16x16;
settings.SettingsPager.Position = PagerPosition.Bottom;
settings.SettingsPager.AlwaysShowPager = true;
settings.SettingsPager.Summary.Position = PagerButtonPosition.Right;
settings.SettingsPager.PageSizeItemSettings.Visible = true;
settings.SettingsPager.PageSize = 10;
settings.SettingsPager.PageSizeItemSettings.Items = new string[] { "50", "100", "200", "500" };
settings.Settings.ShowFilterRow = true;
settings.Settings.ShowFilterRowMenu = true;
settings.ClientSideEvents.RowClick = "function(s,e){ OnSelectionChanged(s,e)}";
settings.ClientSideEvents.BeginCallback = "OnAlternativeBeginCallback";
settings.ClientSideEvents.EndCallback = "OnAlternativeEndCallback";
});
if (ViewData["EditError"] != null)
{
grid.SetEditErrorText((string)ViewData["EditError"]);
}
}
@grid.Bind(Model).GetHtml()
Мой JavaScript
function OnAlternativeBeginCallback(s, e) {
e.customArgs["SendedID"] = SendedID;
@{Html.Hidden("SendedID", "this is a SendedID", new { id = "SendedID" });}
}
function OnAlternativeEndCallback(s, e) {
loadingPanel.Hide();
}
Мой контроллер
[HttpPost, ValidateInput(false)]
public ActionResult UpdateFromHeijunkaAlternative(string StockName, string F_SCode, string RackCode, string PartType, string Description, string Count, string ID)
{
AlternativeMetaData Item = new AlternativeMetaData();
Item.AlternativeId = Convert.ToInt64(ID);
Item.F_SFName = StockName;
Item.RackCode = RackCode;
Item.Description = Description;
Item.Count = Count;
Item.F_SPrvCode = F_SCode;
Item.PartType = PartType;
DataTable ResultDT = GetAlternativeWorkOrderListDataSet(Convert.ToInt64(Session["RecivedHeijunkaID"]));
foreach (DataRow DR in ResultDT.Rows)
{
if (DR.ItemArray[0] != null)
{
DR["StockID"] = Item.AlternativeId;
DR["StockCode"] = "";
DR["StockName"] = Item.F_SFName;
DR["RackCode"] = Item.RackCode;
DR["F_SCode"] = Item.F_SPrvCode;
DR["Description"] = Item.Description;
DR["Count"] = Item.Count;
DR["PartType"] = Item.PartType;
ResultDT.AcceptChanges();
}
Session["ResultDS"] = ResultDT;
}
Session["ResultDS"] = ResultDT;
return PartialView("HeijunkaAlternativeWorkorderPartial", ResultDT);
}
и это моя ошибка
<div id="MyAlternativeResult">
/*DX*/({'result':{'html':'<%html%>','stateObject':{'selection':'','callbackState':'fi5U/dUSg3GgLvefbQK/Z304T/m4wkaXoZ1kfr/XvaF5ZXE3X5wxv/jkgO0Wd7wtG3o9WMKBv1EM5oj/dct2wzyfS5j5uHFwGbftSzTrGpnN7qNZUCdDrvOOknNGp4LbDi3ZXwV8orQpk5spuIZ1xOqNGk5MMIlR08VlxiZIo3ItkJ8lgW9v+WxRWE52eumjs1z7oVGYARc9+5m+5cef/zIjwM/o8ANdRMXmQTj8POYq+biIsu5024xTafU8u4F4if0FcY/ImEEOGL3k65CmMVU7uVdhM/LsCJT2qkivp086BllcEJNtez5i8dfd7FPAQeUzQV34vz35lBLm2u0Yfyh0vAFeLuLlugx0Ahc8lbsBNByVK5X01qJ8G8AxqecpCgxXYLuvzwuaKnsxnZ4zym2a2AjsM1BE5C7fmhAar1R81ldAKUAd3js2V/I16HZCHWJwMLzFxZGu5j2d66MPIw0YHW2bpQys3dVLD0XWlsgnbQbFlAmsWZjexbJWi/r8+N1LoA701Z35g2BX1VEBHQ==','keys':['1']}},'id':0})/*DXHTML*/<table id="gvEditing_DXMainTable" class="dxgvTable_DevEx dxgvRBB" onclick="ASPx.GTableClick('gvEditing', event);" ondblclick="ASPx.GVTableDblClick('gvEditing', event);" dir="rtl" oncontextmenu="return ASPx.GVContextMenu('gvEditing',event);" style="width:100%;empty-cells:show;">
<tr id="gvEditing_DXHeadersRow0">
<td id="gvEditing_col0" class="dxgvHeader_DevEx" style="text-align:Right;border-top-width:0px;border-left-width:0px;border-right-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">#</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col1" class="dxgvHeader_DevEx" style="width:25%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">نام قطعه</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col2" class="dxgvHeader_DevEx" style="width:20%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">کد قطعه</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col3" class="dxgvHeader_DevEx" style="width:15%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">آدرس در انبار</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col4" class="dxgvHeader_DevEx" style="width:10%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">نوع</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col5" class="dxgvHeader_DevEx" style="width:10%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">تعداد</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td><td id="gvEditing_col6" class="dxgvHeader_DevEx" style="width:20%;text-align:Right;border-top-width:0px;border-left-width:0px;"><table style="width:100%;">
<tr>
<td style="text-align:Right;">شرح</td><td style="width:1px;text-align:left;"><span class="dx-vam"> </span></td>
</tr>
</table></td>
</tr><tr id="gvEditing_DXFilterRow" class="dxgvFilterRow_DevEx">
<td class="dxgvCommandColumn_DevEx dxgv dx-ac" style="border-right-width:0px;"> </td><td class="dxgv"> </td><td class="dxgv"> </td><td class="dxgv"> </td><td class="dxgv"> </td><td class="dxgv" style="text-align:Right;"> </td><td class="dxgv"> </td>
</tr><tr id="gvEditing_DXEditingRow" class="dxgvInlineEditRow_DevEx">
<td class="dxgvCommandColumn_DevEx dxgv dx-ac" style="border-right-width:0px;"><a class="dxbButton_DevEx dxgvCommandColumnItem_DevEx dxgv__cci dxbButtonSys" dir="rtl" data-args="[['UpdateEdit'],1]" id="gvEditing_DXCBtn0"><img title="Update" class="dxIcon_save_save_16x16 dx-vam" src="/DXR.axd?r=1_58-0yXpg" alt="Update" /></a><script id="dxss_158216634" type="text/javascript">
<!--
ASPx.AddDisabledItems('gvEditing_DXCBtn0',[[['dxbDisabled_DevEx'],[''],[''],['','TC'],[[{'spriteCssClass':'dxIcon_save_save_16x16_disabled'}]],['Img']]]);
//-->
</script><a class="dxbButton_DevEx dxgvCommandColumnItem_DevEx dxgv__cci dxbButtonSys" dir="rtl" data-args="[['CancelEdit'],1]" id="gvEditing_DXCBtn1"><img title="Cancel" class="dxIcon_actions_cancel_16x16 dx-vam" src="/DXR.axd?r=1_58-0yXpg" alt="Cancel" /></a><script id="dxss_427012908" type="text/javascript">
<!--
ASPx.AddDisabledItems('gvEditing_DXCBtn1',[[['dxbDisabled_DevEx'],[''],[''],['','TC'],[[{'spriteCssClass':'dxIcon_actions_cancel_16x16_disabled'}]],['Img']]]);
//-->
</script></td><td class="dxgvInlineEditCell_DevEx dxgv"><table id="gvEditing_DXEditor1_ET" class="dxeValidStEditorTable dxeRoot_DevEx" dir="rtl" style="width:100%;">
<tr>
<td id="gvEditing_DXEditor1_CC" class="dxeErrorFrame_DevEx dxeErrorFrameSys dxeControlsCell_DevEx" style="background-color:Transparent;border-width:0px;width:100%;border-left-width:0px;vertical-align:middle;"><table class="dxeTextBoxSys dxeTextBox_DevEx dxeReadOnly_DevEx dxeTextBoxDefaultWidthSys" dir="rtl" id="gvEditing_DXEditor1" style="width:100%;">
<tr>
<td class="dxic" style="width:100%;"><input class="dxeEditArea_DevEx dxeEditAreaSys" id="gvEditing_DXEditor1_I" name="gvEditing$DXEditor1" readonly="readonly" onfocus="ASPx.EGotFocus('gvEditing_DXEditor1')" onblur="ASPx.ELostFocus('gvEditing_DXEditor1')" onchange="ASPx.EValueChanged('gvEditing_DXEditor1')" value="دنده ميل لنگ" type="text" /></td>
</tr>
</table></td><td id="gvEditing_DXEditor1_EC" class="dxeErrorCell_DevEx dxeErrorFrame_DevEx dxeErrorFrameSys dxeErrorCellSys" style="background-color:Transparent;border-width:0px;border-right-width:0px;vertical-align:middle;visibility:hidden;white-space:nowrap;"><table style="width:100%;">
<tr>
<td><img id="gvEditing_DXEditor1_EI" title="Invalid value" class="dxEditors_edtError_DevEx" src="/DXR.axd?r=1_58-0yXpg" alt="Invalid value" /></td>
</tr>
</table></td>
</tr>
</table><script id="dxss_1064180561" type="text/javascript">
<!--
ASPx.AddDisabledItems('gvEditing_DXEditor1',[[['dxeDisabled_DevEx'],[''],['','I']]]);
ASPx.createControl(ASPxClientTextBox,'gvEditing_DXEditor1','',{'uniqueID':'gvEditing$DXEditor1','rtl':true,'customValidationEnabled':true,'isValid':true,'errorText':'Invalid value','isErrorFrameRequired':true,'errorDisplayMode':'i','errorImageIsAssigned':true,'readOnly':true},null,null,{'decorationStyles':[{'key':'I','className':'dxeInvalid_DevEx','cssText':''},{'key':'F','className':'dxeFocused_DevEx','cssText':''}]});
//-->
</script></td><td class="dxgvInlineEditCell_DevEx dxgv"><table id="gvEditing_DXEditor2_ET" class="dxeValidStEditorTable dxeRoot_DevEx" dir="rtl" style="width:100%;">
<tr>
<td id="gvEditing_DXEditor2_CC" class="dxeErrorFrame_DevEx dxeErrorFrameSys dxeControlsCell_DevEx" style="background-color:Transparent;border-width:0px;width:100%;border-left-width:0px;vertical-align:middle;"><table class="dxeTextBoxSys dxeTextBox_DevEx dxeReadOnly_DevEx dxeTextBoxDefaultWidthSys" dir="rtl" id="gvEditing_DXEditor2" style="width:100%;">
<tr>
<td class="dxic" style="width:100%;"><input class="dxeEditArea_DevEx dxeEditAreaSys" id="gvEditing_DXEditor2_I" name="gvEditing$DXEditor2" readonly="readonly" onfocus="ASPx.EGotFocus('gvEditing_DXEditor2')" onblur="ASPx.ELostFocus('gvEditing_DXEditor2')" onchange="ASPx.EValueChanged('gvEditing_DXEditor2')" value="10-032-007-008-000-001" type="text" /></td>
</tr>
</table></td><td id="gvEditing_DXEditor2_EC" class="dxeErrorCell_DevEx dxeErrorFrame_DevEx dxeErrorFrameSys dxeErrorCellSys" style="background-color:Transparent;border-width:0px;border-right-width:0px;vertical-align:middle;visibility:hidden;white-space:nowrap;"><table style="width:100%;">
<tr>
<td><img id="gvEditing_DXEditor2_EI" title="Invalid value" class="dxEditors_edtError_DevEx" src="/DXR.axd?r=1_58-0yXpg" alt="Invalid value" /></td>
</tr>
</table></td>
</tr>
</table><script id="dxss_1601572940" type="text/javascript">
<!--
ASPx.AddDisabledItems('gvEditing_DXEditor2',[[['dxeDisabled_DevEx'],[''],['','I']]]);
ASPx.createControl(ASPxClientTextBox,'gvEditing_DXEditor2','',{'uniqueID':'gvEditing$DXEditor2','rtl':true,'customValidationEnabled':true,'isValid':true,'errorText':'Invalid value','isErrorFrameRequired':true,'errorDisplayMode':'i','errorImageIsAssigned':true,'readOnly':true},null,null,{'decorationStyles':[{'key':'I','className':'dxeInvalid_DevEx','cssText':''},{'key':'F','className':'dxeFocused_DevEx','cssText':''}]});
//-->
</script></td><td class="dxgvInlineEditCell_DevEx dxgv"><table id="gvEditing_DXEditor3_ET" class="dxeValidStEditorTable dxeRoot_DevEx" dir="rtl" style="width:100%;">
<tr>
<td id="gvEditing_DXEditor3_CC" class="dxeErrorFrame_DevEx dxeErrorFrameSys dxeControlsCell_DevEx" style="background-color:Transparent;border-width:0px;width:100%;border-left-width:0px;vertical-align:middle;"><table class="dxeTextBoxSys dxeTextBox_DevEx dxeReadOnly_DevEx dxeTextBoxDefaultWidthSys" dir="rtl" id="gvEditing_DXEditor3" style="width:100%;">
<tr>
<td class="dxic" style="width:100%;"><input class="dxeEditArea_DevEx dxeEditAreaSys" id="gvEditing_DXEditor3_I" name="gvEditing$DXEditor3" readonly="readonly" onfocus="ASPx.EGotFocus('gvEditing_DXEditor3')" onblur="ASPx.ELostFocus('gvEditing_DXEditor3')" onchange="ASPx.EValueChanged('gvEditing_DXEditor3')" value="12032603" type="text" /></td>
</tr>
</table></td><td id="gvEditing_DXEditor3_EC" class="dxeErrorCell_DevEx dxeErrorFrame_DevEx dxeErrorFrameSys dxeErrorCellSys" style="background-color:Transparent;border-width:0px;border-right-width:0px;vertical-align:middle;visibility:hidden;white-space:nowrap;"><table style="width:100%;">
<tr>
<td><img id="gvEditing_DXEditor3_EI" title="Invalid value" class="dxEditors_edtError_DevEx" src="/DXR.axd?r=1_58-0yXpg" alt="Invalid value" /></td>
</tr>
</table></td>
</tr>
</table><script id