前几天在使用一个JS的日期显示时,只能在Html控件中使用,加上Runat='server'就出错,于是想到用
Javascript来显示具体内容,这个时候就遇到一个问题,就是输出时无法显示内容。
我首先使用的方法是:
sub page_load(sender as object,e as system.eventargs)
...从数据库取出信息
dim jv as string="<Script language='javascript'>"
jv=jv + "document.Forms(0).sr.value="
jv=jv+ dt.rows(0)("birth") +";"
jv=jv+"</Script>"
Response.Write(jv)
end sub
======这种方式在页面page_load之后没有任何反应,由于自己技术不精,所以一时不明白,后来查找相关资料后,后把Response.Write(jv)该为:
if page.isstartupscriptregistered("myscript")=false then
page.registeredstartupscript("myscript",jv)
end if
运行正常,数据显示正常,问题得以解决
向页面注册javascript方法主要有两个方法:
page.registerstartupscript和page.RegisterClientScriptBlock
它们的主要区别在于,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面