2014-02-25 30 views
0

我已經在站點母版頁上編寫了Javascript代碼。但是,當我打電話給Javascirpts時,它不起作用。任何人都可以幫我弄明白嗎?謝謝Page.ClientScript.RegisterStartupScript不起作用

以下是站點母版頁中的Javascript代碼。

<head id="Head1" runat="server"> 
<title></title> 
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> 
<link rel="stylesheet" href="/Styles/jquery-ui-1.9.2.custom.min.css" /> 
<script type="text/javascript" src="/Scripts/jquery-1.8.3.js"></script> 
<script type="text/javascript" src="/Scripts/jquery-ui-1.9.2.custom.min.js"></script> 

<script type="text/javascript"> 
    function dialog(text) { 
     $("#text").text(text); 
     $("#dialog-message").dialog 
     ({ 
      buttons: { 
       close: function() { $(this).dialog("close"); } 
      } 
     }); 
    }; 

    function dialogWithRedirect(text, url) { 
     $("#text").text(text); 
     $("#dialog-message").dialog 
    ({ 
     buttons: { 
      close: function() { location.href = url; $(this).dialog("close"); } 
     } 
    }); 
    }; 

    var confirmed = false; 
    function confirmDialog(obj, text) { 
     if (!confirmed) { 
      $("#text").text(text); 
      $("#dialog-message").dialog({ 

       buttons: { 
        "Confirm": function() { 
         $(this).dialog("close"); 
         confirmed = true; 
         obj.click(); 
        }, 
        "Cancel": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 
     } 
     return confirmed; 
    }; 
</script> 

<asp:ContentPlaceHolder ID="HeadContent" runat="server"> 
</asp:ContentPlaceHolder> 

這是我如何調用Javascript角。

protected void ImageButtonOK_Click(object sender, ImageClickEventArgs e) 
    { 
     if (tbFirstName.Text != "" && tbLastName.Text != "" && tbNickName.Text != "" && tbUsername.Text != "" && tbPassword.Text != "" && tbConfirmPassword.Text != "") 
     { 
      if (validateUsername()) 
      { 

       Database database = new Database(); 
       string sql = "INSERT INTO users " + 
          "   (user_id " + 
          "   ,first_name " + 
          "   ,last_name " + 
          "   ,nickname " + 
          "   ,image " + 
          "   ,username " + 
          "   ,password) " + 
          "  VALUES " + 
          "   (" + user_id + " " + 
          "   ,'" + tbFirstName.Text + "' " + 
          "   ,'" + tbLastName.Text + "' " + 
          "   ,'" + tbNickName.Text + "' " + 
          "   ,'" + pictureFile + "' " + 
          "   ,'" + tbUsername.Text + "' " + 
          "   ,'" + tbPassword.Text + "')"; 
       database.executeNonQuery(sql); 
       database.close(); 

       Page.ClientScript.RegisterStartupScript(typeof(Page), "print", "<script type='text/javascript'> dialogWithRedirect('Save complete','user.aspx');</script>"); 

      } 

     } 
     else 
     { 
      Page.ClientScript.RegisterStartupScript(typeof(Page), "print", "<script type='text/javascript'> dialog('Please fill all required data');</script>"); 

     } 
    } 
+0

爲什麼C標籤在這裏? – devnull

回答

1

我懷疑問題是代碼註冊的腳本塊背後之前dialogWithRedirectdialog定義的功能插入頁面。爲了確保這些功能已經被定義被調用時,包中的呼叫負載回調:

Page.ClientScript.RegisterStartupScript(typeof(Page), 
             "print", 
             "<script type='text/javascript'> $(function() { dialog('Please fill all required data'); });</script>"); 
0

否則ü可以使用下面的代碼

String PopUp="<script type='text/javascript'>"+"alert('Please fill all required data')"+"</script>"); 
Page.RegisterStartupScript("PopScript",Popup); 

我希望這將幫助ü。

+0

.NET中的Page.RegisterStartupScript' [已過時](http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.registerstartupscript%28v=vs.80%29.aspx) 2.0以上。 – Andrei

+0

但它仍然有效 –

相關問題