Asp.Net 后台注册Js脚本和引用JS文件的方法及作用位置

Asp.Net 后台注册Js脚本和引用JS文件的方法及作用位置
方法一:

ClientScript.RegisterClientScriptBlock(this.GetType(),Guid.NewGuid().ToString(),"alert('Register JS')",true);


作用位置:
<form name="form1" method="post" action="test.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


//------------后台注册脚本生成在此处-------------------
<script type="text/javascript">
//<![CDATA[
alert('Register JS')//]]>
</script>


//------------写在前台的form标签内第一个位置
<script type="text/javascript">
alert('Frist JS');
</script>
</form>

大概在form标签内 考前的位置。
若前台写好的js 并且是form标签内第一个标签,也会被排在后台注册的脚本之后

方法二:

ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(),"alert('Register JS')",true);

作用位置:
<form name="form1" method="post" action="test.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>
//------------写在前台的form标签内最后一个位置
<script type="text/javascript">
	alert("Last JS")
</script>
//------------后台注册脚本生成在此处-------------------
<script type="text/javascript">
//<![CDATA[
alert('Register JS')//]]>
</script>
</form>

大概在form标签内 最后的位置。

若前台写好的js 并且是form标签内最后的位置,也会被排在后台注册的脚本之前


方法三:
后台注册引用JS文件
ClientScript.RegisterClientScriptInclude(this.GetType(),Guid.NewGuid().ToString(),"/RegisterJS.js");
生成标签位置与方法一 (ClientScript.RegisterClientScriptBlock) 相同

以上方法只能在form标签内生成 script 标签
若要在head标签中生成script 用下面的方法

方法四:
using System.Web.UI.HtmlControls;

//不可在 页面初始化之前 使用该代码
protected override void OnInit(EventArgs e)
{
	base.OnInit(e);
	//引用外部JS
	HtmlGenericControl jsJquery = new HtmlGenericControl("script");
	jsJquery.Attributes["type"] = "text/javascript";
	jsJquery.Attributes["src"] = "/Scripts/jquery-1.4.2.min.js";
	
	HtmlGenericControl jsRegister = HtmlGenericControl("script");
	jsJquery.Attributes["type"] = "text/javascript";
	jsRegister.InnerText="alert('jsRegister')";
	
	//head标签内最后的位置
	Header.Controls.Add(jsRegister);
	
	//也可自定义位置 (此处放在第一位)
	Header.Controls.AddAt(0,jsJquery);
}
方法五:

利用 服务器控件 asp:Literal,该控件没有任何回传事件,所以可放在form标签之外,

<script>
//后台注册脚本
<asp:Literal runat="server" ID="lit_RegiterJS"></asp:Literal>
</script>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值