У меня проблема с тем, что событие oncheckedchanged не срабатывает, когда флажок находится внутри загрузочного загрузчика. Событие запускается, когда оно не внутри поповера.
Я работаю с сеткой, в которой есть несколько полей, и одним из них является кнопка asp:, которая используется для извлечения всплывающего окна начальной загрузки из кода, подобного этому.
if (e.CommandName == "Actions")
{
var button = e.CommandSource as Button;
UserActivityManager.ButtonClicked(User, button);
if (button != null)
{
var row = (GridViewRow)button.NamingContainer;
if (approvedUsersGrid != null)
{
var user = approvedUsersGrid.DataKeys[row.RowIndex].Values["Id"].ToString();
approvedUserHieldField.Value = user;
var approvedUser = approvedUsers.FirstOrDefault(x => x.Id == user);
if (approvedUser != null && approvedUser.Role == UserRoles.Guest)
{
addWaterMarkCheck.Enabled = false;
}
else
{
addWaterMarkCheck.Enabled = true;
}
ScriptManager.RegisterStartupScript(this, GetType(), "approvedUserPopoverScript", "$('#" + button.ClientID + "').popover({ html: true, content: $('#aprprovedUserActionButtonDiv'), container: 'body', trigger: 'focus', placement: 'left'});", true);
ScriptManager.RegisterStartupScript(this, GetType(), "approvedUserShowButtons", "$('#" + button.ClientID + "').popover('show');", true);
}
}
}
Как видно из приведенного выше кода, я сохраняю выбранную строку в скрытом поле, которое позже используется для выполнения других событий, таких как событие нажатия кнопки для выбранной строки. У меня есть другие asp: LinkButtons внутри поповер, который работает.
Кроме того, кнопка внутри сетки выдает всплывающее окно и его содержимое, которое находится в файле aspx.
Это разметка флажка.
<td id="waterMarkTd" runat="server">
<div class="checkbox">
<label style="font-size: 1.5rem;">
<asp:CheckBox CssClass="bigger-watermark-checkbox" ID="addWaterMarkCheck" runat="server" AutoPostBack="True" OnCheckedChanged="addWaterMarkCheck_OnCheckedChanged"/>
Add Watermark
</label>
</div>
</td>
Любое предложение или идея высоко ценится.