Используете ли вы ScriptManager для регистрации функции редактирования?
protected void Page_Load(object sender, EventArgs e)
{
string jsEdit = @"function edit(event, id) {}";
ScriptManager.RegisterClientScriptBlock(this, GetType(), "editFunction", jsEdit);
}
Если ваш код находится во внешнем файле, вы можете зарегистрировать его в ScriptManager или ScriptManagerProxy в aspx для вашей страницы:
<ScriptManager runat="server" id="ScriptManager1">
<Scripts>
<asp:ScriptReference path="~/js/edit.js" />
</Scripts>
</asp:ScriptManager>
EDIT:
хорошо, я знаю, в чем проблема сейчас. Вы не устанавливаете видимость CSS для начала. Так что либо вам нужно установить видимость css, либо вы можете изменить функцию редактирования, следуя следующей логике:
function edit(e, id) {
var editdiv = $('#' + id).find('.edit');
var cntdiv = $('#' + id).find('.content');
//I reversed it to look for visible instead of hidden. The main problem with this approach and your other approach is that the original value is inherited.
if (editdiv.css('visibility') == 'visible') {
editdiv.css('visibility') == 'hidden'
cntdiv.css('visibility') == 'visible'
cntbox.show();
editbox.hide()
}
else {
editdiv.css('visibility') == 'visible'
cntdiv.css('visibility') == 'hidden'
cntdiv.hide();
editbox.show()
}
stopEventBubble(e); // Code to cancel event bubbling;
}
Другой вариант потребует от вас установки следующих параметров в разделах «edit» и «content».
<div id="edit" style="visibility:hidden"> ... </div>
<div id="content" style="visibility:visible"> ... </div>
Если вам понадобится дополнительная помощь, мне нужно будет просмотреть ваш aspx-код, касающийся панели обновления, редактирования и содержимого.