我必須聲明爲圖像按鈕內,Page.Unload事件更新面板
<div>
<asp:ImageButton ID="btnDoWork" runat="server" ImageUrl="/_LAYOUTS/1033/IMAGES/row.png" ValidationGroup="Page" />
</div>
<div>
<asp:RequiredFieldValidator runat="server" ID="reqName" ControlToValidate="txtEmail" ValidationGroup="Page" ErrorMessage="enter a email" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" ControlToValidate="txtEmail" ValidationGroup="Page" ErrorMessage="enter a email" />
</div>
一個更新面板內,
現在在後面的代碼我在做這樣的事情,
btnDoWork = (ImageButton)this.control.FindControl("btnDoWork"); //this code is in childcontrols method
btnDoWork.Click += new ImageClickEventHandler(btnDoWork_Click);
然後
protected void btnDoWork_Click(object sender, ImageClickEventArgs e)
{
//Process a bit of code and at end,
this.Page.Unload += new EventHandler(Page_Unload_MessageBox);
和然後在按鈕單擊事件,
public static void Page_Unload_Page_Unload_MessageBox(object sender, EventArgs e)
{
System.Globalization.CultureInfo _culture = Thread.CurrentThread.CurrentUICulture;
StringBuilder sb = new StringBuilder();
sb.Append("<script language=\"javascript\">");
sb.Append("$('body').append(\"<div id='M'><span id='text'>" +
SPUtility.GetLocalizedString("$Resources:abc", "def", (uint)_culture.LCID) +
"</span><br/><div id='BB' onclick='return BB();'><a href='' onclick='return BB();'>" +
SPUtility.GetLocalizedString("$Resources:OK", "def", (uint)_culture.LCID) +
"</a></div></div>\");");
sb.Append("function BB() { $('#M').remove(); $('#E').remove(); return false; }");
sb.Append("function dM(){ var browser = navigator.appName; if (browser == 'Netscape') { $('#M').css({ 'top': '5%' }, 500); } }");
sb.Append("</script>");
// Write the JavaScript to the end of the response stream.
HttpContext.Current.Response.Write(sb.ToString());
現在,如果我把電子郵件地址,我得到的錯誤,而當它試圖Response.Write
我想,我不知道選擇是什麼就有什麼,例如我可以使用觸發器在更新面板或任何其他事件或東西..
這裏是我現在得到的錯誤,
注:我改變了所有的變量名,所以不要混淆如果有東西不匹配
謝謝,但對不起有點困惑,在我的代碼中,我創建了一個與sb和所有javascript函數的文字控制,但你再次在函數UnloadMsgBox()中執行:S – Mathematics
我在ChildControl方法中創建了Literal Control,然後將它添加到UpdatePanel它包含您在函數UnloadMsgBox中定義的所有代碼,但是我還有另一個可以在這裏查看的問題http://stackoverflow.com/questions/13533388/duplicate-buttons-in-update-panel-and -javascript-hack,歡呼:) – Mathematics