如何将值传递给从MVC的Javascript code控制器 [英] How to pass values to controller from Javascript code in MVC
本文介绍了如何将值传递给从MVC的Javascript code控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
其实我有这样一个场景:
Actually I have a scenario like :
我通过JavaScript获得在GridView中的检查记录的值。
现在我需要将这些值发送到控制器删除这些记录。
I am getting the values of checked records in GridView through Javascript. Now i need to send those values to controller for deleting those records.
<script type="text/javascript">
$(function OnDelete() {
$('#btn_Delete').click(function ()
{
gvPaging.PerformCallback();
});
});
function OnBeginCallback(s, e) {
var selectedValues = s.GetSelectedKeysOnPage();
e.customArgs["ID"] = "";
for (var i = 0; i < selectedValues.length; i++) {
e.customArgs["ID"] += selectedValues[i] + ',';
}
}
</script>
和我的GridView的是这样的:
and my GridView is like this :
<%
Html.DevExpress().GridView(
settings =>
{
settings.Name = "gvPaging";
settings.CallbackRouteValues = new { Controller = "GridView", Action = "PagingPartial" };
settings.Width = Unit.Percentage(100);
settings.KeyFieldName = "ID";
settings.CommandColumn.ShowSelectCheckbox = true;
settings.CommandColumn.SetHeaderTemplateContent(c =>
{
Html.DevExpress().CheckBox(settingsCheckBox =>
{
settingsCheckBox.Name = "cbSelectAll";
settingsCheckBox.Name = "Select All";
settingsCheckBox.Properties.ValueType = typeof(bool);
settingsCheckBox.Properties.ClientSideEvents.CheckedChanged = string.Format("function(s, e) {{ if(s.GetChecked()) {0}.SelectRows(); else {0}.UnselectRows(); }}", settings.Name);
settingsCheckBox.Checked = c.Grid.VisibleRowCount == c.Grid.Selection.Count;
}).Render();
});
settings.SettingsBehavior.AllowSelectByRowClick = true;
//settings.Columns.Add("ID");
settings.Columns.Add("Name");
settings.Columns.Add("EmailID");
settings.Columns.Add("MobileNumber");
settings.Columns.Add("Address");
settings.SettingsPager.Position = PagerPosition.Bottom;
settings.SettingsPager.FirstPageButton.Visible = true;
settings.SettingsPager.LastPageButton.Visible = true;
settings.SettingsPager.PageSizeItemSettings.Visible = true;
settings.SettingsPager.PageSizeItemSettings.Items = new string[] { "10", "20", "50" };
settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "GridView", Action = "InlineEditingAddNewPartial" };
settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "GridView", Action = "InlineEditingUpdatePartial" };
//settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "GridView", Action = "InlineEditingDeletePartial" };
settings.SettingsEditing.Mode = GridViewEditingMode.EditFormAndDisplayRow;
//settings.SettingsBehavior.ConfirmDelete = true;
settings.Settings.ShowFilterRow = true;
settings.Settings.ShowFilterRowMenu = true;
settings.CommandColumn.Visible = true;
settings.CommandColumn.ClearFilterButton.Visible = true;
settings.CommandColumn.NewButton.Visible = true;
//settings.CommandColumn.DeleteButton.Visible = true;
settings.CommandColumn.EditButton.Visible = true;
settings.Settings.VerticalScrollBarMode = ScrollBarMode.Visible;
//settings.ClientSideEvents.SelectionChanged = "SelectionChanged";
settings.ClientSideEvents.BeginCallback = "OnBeginCallback";
})
.Bind(Model)
.Render();
%>
推荐答案
您可以使用AJAX脚本中。
You can use AJAX inside your script.
像这样
$.ajax({
url: 'Your method in controller which will delete the records',
type: 'POST',
data: ' data which you want to send to controler ',
});
这篇关于如何将值传递给从MVC的Javascript code控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文