- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有 GridView,我可以选择一行。然后我在网格上方有一个名为“编辑”的按钮,用户可以单击该按钮弹出一个窗口并编辑所选行。所以这个按钮后面会有 Javascript 代码
function editRecord()
{
var gridView = document.getElementById("<%= GridView.ClientID %>");
var id = // somehow get the id here ???
window.open("edit.aspx?id=" + id);
}
问题是如何在 javascript 中检索选定的记录 ID?
最佳答案
我是根据 JasonS 的回复算出来的。我所做的是在 GridView 中创建一个隐藏字段,如下所示:
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:HiddenField ID="hdID" runat="server" Value='<%# Eval("JobID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:LinkButton ID="lnkSelect" runat="server" CommandName="select" Text="Select" />
</ItemTemplate>
</asp:TemplateField>
然后在 OnRowDataBind 上有设置选中行的代码
protected virtual void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Click to highlight row
Control lnkSelect = e.Row.FindControl("lnkSelect");
if (lnkSelect != null)
{
StringBuilder click = new StringBuilder();
click.AppendLine(m_View.Page.ClientScript.GetPostBackClientHyperlink(lnkSelect, String.Empty));
click.AppendLine(String.Format("onGridViewRowSelected('{0}')", e.Row.RowIndex));
e.Row.Attributes.Add("onclick", click.ToString());
}
}
}
然后在 Javascript 中我有这样的代码
<script type="text/javascript">
var selectedRowIndex = null;
function onGridViewRowSelected(rowIndex)
{
selectedRowIndex = rowIndex;
}
function editItem()
{
if (selectedRowIndex == null) return;
var gridView = document.getElementById('<%= GridView1.ClientID %>');
var cell = gridView.rows[parseInt(selectedRowIndex)+1].cells[0];
var hidID = cell.childNodes[0];
window.open('JobTypeEdit.aspx?id=' + hidID.value);
}
</script>
工作愉快:-)
关于asp.net - 在 Javascript 中获取 GridView 选定行的 DataKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228549/
在这个网站上,我试图通过对 gridview 行的选择在数据库中插入一行。除了从 gridview 收集主键外,我的一切都运行良好。我已经尝试了所有我能找到的无济于事。到目前为止,我还不太擅长这种语言
我正在使用数据装置来填充用 Recharts 构建的图表 我的数据中有两个对象:Finances 和 DAU const charts = [ { name: 'Finances',
p-table 上的 dataKey 属性是否需要定义为列,还是只需要是 [value] 数组中对象的属性?如果它需要是一个列,这个列是否需要可见? 最佳答案 不,dataKey 不需要是一列。 da
网络和 C# 4。 我有一个 DetailsView 控件,我使用一些自定义逻辑进行数据绑定(bind)。 在我的 DetailsView 中输入数据时,我想使用 Event "Inserted"(或
如何将 dataKey 的值传递给另一个组件?我有一个带有自定义点的折线图,这个点需要数据中的值。如何将数据键的值传递给它? const data = [ { name: 'abc', val
我正在开发一个现有的网络应用程序。我收到了一些仅针对一位已知用户触发的前端错误。日志说: [2014-05-19 18:40:05] frontend.ERROR: ReferenceError: C
我有一个像这样的 GridView: 以下是我创建 DataTable 的方法,GridView 绑定(
我在尝试从 GridView 中获取数据键值时遇到了一些问题。这是代码: GridView gvForCheckBox = (GridView)e.Item.FindControl("gvProduc
网格 View 对于加载的第一页,如果我单击命令字段,它会显示正确的 DataKey 值。 但是,如果我更改到下一页结果,则在选择记录时对应的值不正确。它似乎保留了
他们看起来是平等的。两者都可以有多个键,并用逗号分隔。 最佳答案 两者都是不同的 datakeysname 存储主键列的名称,而 datakeys 将包含该列的值。 请参阅以下示例。 http://w
我正在使用 GridView 控件,它数据绑定(bind)到从实用程序方法返回的对象的 List。 GridView 控件将其中一列设置为其 DataKey。当一行被选中时,它会触发 Selected
我有一个带有关联的 DataKey 的 GridView,它是项目 ID。如何在 RowCommand 事件中检索该值? 这似乎有效,但我不喜欢转换为 LinkButton (如果其他命令触发事件
好吧,这让我今天发疯了。所以我有以下标记: 等... 假设我添加了一个标签: ' runat="server"> 这将返回正确的 DataKey“Id”。现在在 CodeBehind 中我正在执行
我有 GridView,我可以选择一行。然后我在网格上方有一个名为“编辑”的按钮,用户可以单击该按钮弹出一个窗口并编辑所选行。所以这个按钮后面会有 Javascript 代码 function edi
我是一名优秀的程序员,十分优秀!