ASP.Net一些知識點(關於.net與JS如何互動)

來源:互聯網
上載者:User

一,在後置代碼中動態產生JavaScript代碼的函數:
       以前在尾碼代碼中產生javascript代碼一直是使用Response.Write來產生,今天看到兩個函數,可以讓用戶端產生Javascript代碼,一個是:RegisterClientScriptBlock,另一個是:RegisterStartupScript,兩者不同之處在於產生的位置不同,他們都在<Form>與</Form>塊之間,但第一個在<Form>之後,第二個是在</Form>之前。兩個函數可以配合IsClientScriptBlockRegistered與IsStartupScriptRegistered函數來查看代碼塊有沒有被註冊使用。例:

private void Page_Load(object sender, System.EventArgs e)
        {
            StringBuilder scriptstring = new StringBuilder();
            scriptstring.Append("<script language=javascript>");
            scriptstring.Append("function Setfirstfocus(){");
            scriptstring.Append("document.all.name.focus();}");
            scriptstring.Append("</script>");
            string js = scriptstring.ToString();

            Page.RegisterClientScriptBlock("Setfirstfocus", js); 
              //Page.RegisterStartupScript("Setfirstfocus",js);
        }

二,關於ViewState的一些知識點:
       可以詳見http://www.microsoft.com/china/msdn/archives/library/dnaspnet/html/Asp11222001.asp

三,在用戶端獲得按鍵的javascript代碼:
   

<script language="javascript">
function  keyDown()
{
var keycode=event.keyCode;                 
var keychar=String.fromCharCode(keycode);     
alert('ASCII='+keycode+'\nKeyChar='+keychar);   
}
document.onkeydown=keyDown;                  
</script>

四,用Enter替代Table健的Javascript代碼: <script language="javascript">
function  keyDown()
{
var  keycode=event.keyCode;
var  keyChar=String.fromCharCode(keycode);
if(keycode==13)
event.keyCode=9;
};
document.onkeydown=keyDown;

</script>

五,動態建立控制項:
                Label lbl = new Label();
                lbl.Text = "Label" + (i).ToString();
                lbl.ID = "Label" + (i).ToString();
                Panel1.Controls.Add(lbl);
                Panel1.Controls.Add(new LiteralControl("<br>"));

LiteralControl可以根據字串來產生頁面的html代碼

六,動態更改Web控制項的屬性:
  可以像給控制項添加script事件一樣為其添加樣式屬性,如:
  Button1.Attributes.Add("style","BACKGROUND-COLOR:  #008888");

七、在頁面的Javscript代碼中清加.net代碼
  如,aspx頁面有以下控制項
   <asp:Literal ID="Literal1" Text="abc" runat="server"></asp:Literal>
我想在下面的JS代碼中獲得Literal1.Text文字,通過以下方式獲得:
<script language="javascript">
    alert("<%=Literal1.Text %>");
</script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.