我有一個帶有標籤的gridview,以及一些使標籤可編輯的JavaScript和jQuery。GridView中的標籤更改,但更改不回發
但是,當我在我的代碼中回發和調試後,我沒有看到更改。
我該如何做到這一點,以便我可以在服務器上進行更改?
<asp:GridView ID="gvGroups" runat="server" AutoGenerateColumns="False"
CssClass="table table-hover table-striped" GridLines="None" >
<Columns>
<asp:TemplateField HeaderText="Name" SortExpression="GroupDescription">
<ItemTemplate>
<asp:Label ID="lblName" CssClass="edit" runat="server" Text='<%# Eval("GroupDescription") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
function makeLabelsEditable() {
$(".edit").focusout(function() {
setLabel(this);
});
$(".edit").click(function() {
editLabel(this);
});
}
function editLabel(source) {
source.innerHTML = '<input type="text" maxlength="40" value="' + source.innerHTML + '"/>';
$(source).unbind('click');
source.children[0].focus()
}
function setLabel(source) {
if (source.children[0].value != '') {
$(source).click(function() {
editLabel(this);
});
source.innerHTML = source.children[0].value;
}
}
我該如何動態地做到這一點?目前我基於標籤是否具有編輯類來做。 – user2043533
@ user2043533爲每行添加一個「隱藏」控件到您的模板。當您寫入文本框(留下焦點或其他東西)時,只需確保將該值複製到「隱藏」中即可。這有點複雜,但你所做的事似乎並不是標準。不知道你爲什麼不在你的'GridView'中使用'EditTemplate'。 – Kelsey
使用EditTemplate當我點擊標籤然後在文本框失去焦點時退出時,如何從編輯模式切換到非編輯模式:? – user2043533