2013 m. rugpjūčio 23 d., penktadienis

Understanding RegisterClientScriptBlock and RegisterStartupScript

RegisterClientScriptBlock - įterpia javascript tekstą prieš formuojant HTML(nenaudojamas dirbant su UpdatePanel, nes scriptų neužregistruoja).

RegisterStartupScript - įterpia javascript tekstą jau suformavus HTML elementus (naudojama inicializacijai ir dirbant su UpdatePanel).

Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Page_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender
        Dim sScript As String = "" &
            "function checkBox() {" &
            "   if (document.getElementById('" + TextBox1.ClientID + "').value != 'OK') {alert('Wrong'); return false} else {return true};" &
            "};"
        ScriptManager.RegisterClientScriptBlock(Me, Me.GetType, "tt", sScript, True)

        Button1.Attributes.Add("onclick", "return checkBox();") - užregistruoja, kada turi būti iškviečiama javascript funkcija

        ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ttt", "document.getElementById('" + TextBox1.ClientID + "').value = '" & Now().ToString() & "';", True)
    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Literal1.Text = Now()
    End Sub
End Class

Pagal tokį kodą, HTML suformuojamas taip:


2013 m. rugpjūčio 18 d., sekmadienis

How to call web service synchronously with JavaSript in ASP.NET

 function gvUpdateHeader(sUserLang) {
            var gv = document.getElementById("gvsummary");

            if (gv != null) {
             
                var strid = 2;

                for (var i = 1; i < gv.rows[0].cells.length; i++) {
                    getStringByLang(sUserLang, strid, i, gv);
                    strid++;
                }

            };

        };

        function getStringByLang(sUserLang, strid, i, gv) {

            VIService.GetString(sUserLang, strid, function (result) {
                if (result) {

                    gv.rows[0].cells[i].innerHTML = result;
                };
            });
        }