Page.RegisterClientScriptBlock()
Page.RegisterStartupScript()
Response.Write()
something.Attribute.Add("");
something.Attribute["onclick"]="javascript:"
例1、
Respones.Write("<script language=javascript>HelloJava()</script>");
例2、
<asp:button id="btnDelete" text="Delete"></asp:botton>
btnDelete.Attribute.Add("onclick","return HelloJava()");
例3、
aspx:
<asp:button id="btnDelete" text="Delete"></asp:botton>
aspx.vb:
btnDelete.attribute("onclick")="return HelloJava();"
在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。有如下两种解决方法: (1) System.Web.UI.ScriptManager.RegisterStartupScript来替代Page.ClientScript.RegisterStartupScript ==>函数原型: System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags); ==>参数: control-----------------要要注册此段javascript语句的控件ID,如下面示例的按钮ID btnUnReport type--------------------这个参数是注册脚本块控件的类型,即updatepanel的类型。一般直接用this.GetType()即可 key---------------------为要执行的javascirpt语句起的名字,可以随便起,类似控件的name属性 script------------------javascript语句 addScriptTags------为true时,前边的script参数可以不用再写javascript标签;为false,则需自己为script参数添加<script language=’javascript’></script>标签。 注:要多传一个Control参数,如果这个control在UpdatePanel里,则运行脚步,如果这个control不在UpdatePanel则不允许这段脚步。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > </form> using System; using System.Web.Script.Serialization; public partial class WebForm1 : System.Web.UI.Page } protected void test_Click(object sender, EventArgs e) } }
|