Выполнение js перед AutoPostBack флажка
NET 4 и флажок asp, который выполняет автоматическую публикацию обратно в пользовательском элементе управления, и мне нужно вызвать js, прежде чем произойдет автоматическая обратная передача.
Редактирование атрибута onclick объекта InputAttributes не помогло. Это не позволяет мне сделать это.
Попытка регистрации при отправке события или запуска сценария, который не помог. Если нет способа зарегистрироваться при отправке, когда флажок был установлен или не установлен. Еще не нашел этого. Когда я регистрируюсь при отправке, моя функция вызывается всякий раз, когда что-то происходит на странице.
Не хочу начинать включать jquery на мою страницу только для этого.
Мой последний вариант - отправить форму в формате js без AutoPostBack, однако мне бы хотелось использовать решение "Регистрация при отправке" или "Регистрация запуска" вместо этого. Я хочу быть в соответствии с моим кодом.
Спасибо -P
1 ответ
Вы можете использовать / переопределить метод OnPreRender(Eventargs e){} для обработки дополнительной функциональности. Он регистрирует клиентский скрипт для генерации событий обратной передачи перед рендерингом на клиенте, если AutoPostBack имеет значение true.
Например: у вас есть флажок asp, определенный как
<asp:CheckBox ID="chkBox" runat="server" Text="Check this box" AutoPostBack="True"/>
В вашем файле.cs
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
chkBox.Attributes["onChange"] = "clickMe();";
}
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack){
chkBox.Text = "After Post Back";
}
}
clickMe() должен быть определен в вашем файле.ascx в блоке скрипта.
function clickMe() {
alert("SCRIPT RAN FIRST");
}
Теперь, если вы установите флажок, сначала будет выполнен код скрипта, а затем код обратной передачи (если он у вас есть). Это должно помочь.