У меня есть LinkButton внутри UpdatePanel:Почему Javascript предупреждение не отображается внутри UpdatePanel
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="upSaveComplete" ClientIDMode="Static">
<ContentTemplate>
<asp:Panel ID="Panel90" runat="server" CssClass="navInnerDiv" Width="200px" ClientIDMode="Static">
<asp:Panel ID="Panel91" runat="server" CssClass="navInnerDivContents">
<asp:Panel ID="Panel92" runat="server" CssClass="navInnerDivContentsTop">
<asp:Panel ID="Panel93" runat="server" CssClass="navInnerDivContentsTopSubTwo">
<asp:ImageButton ID="ibSave" ImageUrl="~/theImages/Save.png" runat="server" CssClass="navImages" OnClick="btnSave_Click" />
<br />
<asp:LinkButton ID="btnSave" runat="server" Text="Save" ClientIDMode="Static" OnClick="btnSave_Click" CssClass="linkOff" />
</asp:Panel>
</asp:Panel>
<asp:Panel ID="Panel94" runat="server" CssClass="navInnerDivContentsBottom">
Task Actions
</asp:Panel>
</asp:Panel>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
код позади:
protected void btnSave_Click(object sender, EventArgs e)
{
ShowMessage();
if (CheckSameUser() == strUser)
{
UpdatePanel upTDNotes = (UpdatePanel)ContentMain.FindControl("upTaskDetailRight");
if (upTDNotes != null)
{
upTDNotes.Update();
}
//MessageBox.Show(lblTDNotes.Value);
string strSaveQuery = @"{QUERY}";
//MessageBox.Show(strSaveQuery);
using (SqlConnection scConn = new SqlConnection(strMainConn))
{
try
{
scConn.Open();
SqlCommand cmd = new SqlCommand(strSaveQuery, scConn);
cmd.ExecuteNonQuery();
Session["queryChanged"] = "Yes";
}
catch (Exception ce)
{
}
}
}
else
{
}
Response.Redirect("YourTasks.aspx");
}
public void ShowMessage()
{
string message = "Hello!";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(message);
sb.Append("')};");
sb.Append("</script>");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
}
При нажатии на кнопку Сохранить, не отображается предупреждение , У меня уже есть ScriptManager, но он все еще не работает.
Как я могу изменить мой код, так что я могу видеть предупреждение (или даже подтвердить) окно на клик по ссылке/изображение
Итак, какой бит этого кода * предполагается * для отображения предупреждения? Потому что представленный код никогда не вызывает его. Кроме того, обратите внимание на другие проблемы: 1) режим обновления является условным * и 2) страница всегда * перенаправляется *. – user2864740
Не могли бы вы создать класс BasePage и создать внутри него статический метод, например, создать файл с именем «BasePage.cs» в объявлении открытого класса ? Public class BasePage: System.Web.UI.Page {} 'внутри из них создаются такие методы public static void ShowClientMessageDlg (строка msg, строка aValue, строка redirect = "") { 10 string msgFormat; msgFormat = string.Format ("{0}", aValue); msg = msg + msgFormat; HttpContext.Current.Response.Write (""); } – MethodMan
@DJKRAZE Heavens no, в WebForms! Гораздо меньше внутри UpdatePanel. – user2864740