我使用 ASP.NET C# MVC3 和 razor 模板,我想了解以下信息:
我有一个 DevExpressGridView
我可以在其中选择行。
选择后,我想将它们传递到 Javascript 变量中。我该怎么做呢?
如果我同时选择了多行,我可以将它们放入数组或其他内容中吗?
编辑:
谢谢您的评论,我现在有以下“JQuery”功能:
$(function () { // Verwijder functie
$('#select').click(function () {
var Delete = confirm("Weet u zeker dat u de geselecteerde records wilt verwijderen?");
if (Delete) {
//Verwijder Funtie
var test = ;
alert(test);
} else {
//Niks
}
});
});
我需要将所选行的 ID 放入变量“test”中,我使用 GetSelectedFieldValuesCallback 和 GetSelectedFieldValues 进行了尝试。但这并没有像我预期的那样工作。
如果有人可以提供一些例子,我将非常感激。
令人惊讶的是,网格最基本的操作之一缺乏示例。特别是如果您想将行发送回服务器以进行进一步处理。
grid.GetSelectedFieldValues() 的问题是它会生成回发。这意味着您需要第二次回发才能将数据实际发送回服务器。
我能够实现的最优雅的解决方案是使用 grid.GetSelectedKeysOnPage()。这将返回通过 settings.KeyFieldName = "Id"; 定义的选定关键字段。
将显示网格的视图。
<script type="text/javascript">
$(function () {
$('#btn1').click(function () {
simpleGrid.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>
@Html.Partial("ProductsPartial", Model.Data)
<div id="btn1">
btn
</div>
在单独的部分视图中创建网格非常重要(不知道为什么,但这就是 devexpress 页面上所说的。
“ProductsPartial”部分视图:
@Html.DevExpress().GridView(
settings =>
{
settings.Name = "simpleGrid";
settings.KeyFieldName = "Id";
settings.CallbackRouteValues = new { Controller = "yourController", Action = "Postback" };
settings.SettingsText.Title = "simpleGridWithPostback";
settings.Settings.ShowTitlePanel = true;
settings.Settings.ShowStatusBar = GridViewStatusBarMode.Visible;
settings.SettingsPager.Mode = GridViewPagerMode.ShowAllRecords;
settings.SettingsPager.AllButton.Text = "All";
settings.SettingsPager.NextPageButton.Text = "Next >";
settings.SettingsPager.PrevPageButton.Text = "< Prev";
settings.Width = new System.Web.UI.WebControls.Unit(200);
settings.Columns.Add("Id");
settings.Columns.Add("Name");
settings.CommandColumn.Visible = true;
settings.CommandColumn.ShowSelectCheckbox = true;
settings.ClientSideEvents.BeginCallback = "OnBeginCallback";
}).Bind(Model).GetHtml()
最后是可以处理数据的控制器
public ActionResult Postback()
{
String data = Request["Id"];
}
这样你就可以在服务器端处理你想要的所有数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)