#c# #javascript #jquery #asp.net
#c# #javascript #jquery #asp.net
Вопрос:
У меня мало элементов управления веб-пользователя, поскольку я использую редактор расширения tinymce .. и я вызываю все элементы управления в одном aspx-файле при разных щелчках btn.
Я хочу, чтобы, когда я в режиме редактирования и я изменяю некоторый текст в этом редакторе и не сохраняю его, если я покидаю эту страницу, он должен спросить и показать сообщение о подтверждении, хотите ли вы сохранить этот текст.
как это сделать.
в файле ascx
Диагностика:
<asp:TextBox ID="txbDiag" TextMode="MultiLine" runat="server" Width="100%" Height="100px"></asp:TextBox>
<acr3s:tinymceextender runat="server" ID="TinyMceExtender4" TargetControlID="txbDiag" Theme="Full">
</acr3s:tinymceextender>
</td>
расширитель, который я вызываю, является
использование системы; использование System.Коллекции.Общий; с использованием System.Linq; с использованием System.Web; с использованием System.Web.Пользовательский интерфейс; использование системы.ComponentModel; с использованием System.Web.UI.WebControls; с использованием System.Глобализация;
[сборка: WebResource(NewCaseWizardBAL.TinyMceExtender.SupportScript, «текст / javascript»)]
пространство имен NewCaseWizardBAL { [TargetControlType(typeof(TextBox))] общедоступный класс TinyMceExtender: ExtenderControl {
internal const string SupportScript = "NewCaseWizardBAL.TinyMceSupport.js";
private TinyMceTheme _theme = TinyMceTheme.Limited;
private string GetTheme()
{
switch (Theme)
{
case TinyMceTheme.Limited:
return "limited";
case TinyMceTheme.Full:
return "special";
case TinyMceTheme.FullWithImage:
return "specialWithImage";
default:
return "";
}
}
[DefaultValue(TinyMceTheme.Limited)]
public TinyMceTheme Theme
{
get { return _theme; }
set { _theme = value; }
}
protected override IEnumerable<ScriptDescriptor> GetScriptDescriptors(Control targetControl)
{
return null;
}
protected override IEnumerable<ScriptReference> GetScriptReferences()
{
return null;
}
protected override void OnPreRender(System.EventArgs e)
{
base.OnPreRender(e);
Control targetControl = FindControl(TargetControlID);
ScriptManager.RegisterClientScriptInclude(Page, typeof(TinyMceExtender), "include_tiny_mce", ResolveClientUrl("~/Scripts/tiny_mce/tiny_mce.js"));
ScriptManager.RegisterClientScriptResource(Page, typeof(TinyMceExtender), SupportScript);
ScriptManager.RegisterClientScriptBlock(this, typeof(TinyMceExtender), "init" targetControl.ClientID, string.Format(CultureInfo.InvariantCulture, "initTinyMCE ('{0}', '{1}');", targetControl.ClientID, GetTheme()), true);
}
}
public enum TinyMceTheme
{
Limited,
Full,
FullWithImage
}
}
я не могу написать какое-либо событие onclient, потому что я вызываю сценарий маскировки onclient click
итак, как это сделать с помощью любого jquery или java script
я также использую плагин автосохранения, но он не показывает никаких предупреждающих сообщений
нужно ли мне что-то менять в tiny_mce.js
пожалуйста, помогите мне отобразить окно с предупреждением о подтверждении, чтобы спросить «Хотите ли вы сохранить изменения»
Ответ №1:
Вы можете использовать window.confirm()
вызов на стороне клиента или OnClientClick
функцию, например
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return
window.confirm('Are you sure about to submit the test?');" OnClick="Button1_Click" />
А затем в коде за:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("NextPage.aspx");
}
Редактировать:
<script type="text/javascript">
function finalFunction ()
{
return window.confirm('Are you sure about to submit the test?');
}
</script>
А затем вызовите функцию, содержащую оба сценария:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:finalFunction();" OnClick="Button1_Click" />
Комментарии:
1. как я мог бы вызвать два скрипта одним onclientclick
2. я вызываю этот скрипт следующим образом OnClientClick=»$.loading({маска: true, эффект: ‘обновление многоточия’});»
3. нужно ли мне вызывать эту FinalFuncation () в каждом веб-пользовательском элементе управления или только в aspx-файле, где я вызываю весь элемент управления
4. отображается окно предупреждения, но если я нажимаю «ОК» или «Сохранить», оно перенаправляет на следующую страницу, чего я хочу, так это если я нажму «Отмена», тогда оно не должно перенаправлять на другую страницу, и если я нажму «ОК», тогда только оно перенаправит на другую страницу.. как это сделать
5. если я не хочу показывать сообщение о предупреждении в btn, нажмите A на какой-то странице, а на какой-то другой странице в том же btn нажмите A, я хочу показать это окно предупреждения .. возможно ли это, если да, то как