我是想通过在点击网页某一按钮时,调用C#事件响应函数,以执行一个javascript函数,可是怎么弄都有错,要么是“无效指针”,要么就是“语法错误”,但我在登录页中采用同样的方式调用就没有问题。看了前面各位大虾发的帖子,以为是smartnavagation惹的祸,但是我关掉还是不行,郁闷啊!
哪位大哥帮帮忙啊!
哪位大哥帮帮忙啊!
解决方案 »
- GridView的相关问题
- 没有对应实体类的数据,用datatable吗
- 急!!在asp.net2.0中,如何动态给gridview创建一行?
- 需要对程序集“Interop.ADODB”(包含类型“ADODB.Fields”)的引用。请在项目中添加一个
- 控件移除的问题,谢谢。
- 如何读取网页上的实时数据??
- datagrid直接导入excel时遇到模板列怎么办??(孟宪会来看看,代码抄你的)
- 很菜的一个问题。
- 做毕业设计,着急,希望高手帮忙!!~~
- a标签和<asp:LinkButton>OnClientClick区别的疑问,请大神解答
- 怎样重装vs.net中的水晶报表
- 建了个ASP.NET技术交流的群8991506
{
if(!this.IsClientScriptBlockRegistered("cancel"))
{
this.RegisterStartupScript("cancel","<script language=javascript>window.self.location.href=Admin_MainForm.aspx;"); }
}
{
Page.RegisterClientScriptBlock("cancel","<script language=javascript>window.self.location.href=Admin_MainForm.aspx;");
}这样应该可以的。
this.ImageButton2.Attributes.Add("onclick","openwin2()");
starchenzhi的方法提示:“无效指针”
swordragon的则提示:“语法错误”
this.ImageButton1.Attributes.Add("onclick","return check()");的方法则可以
我还试了这个方法也可以:
public void AlertSetRight(string str_Message,Admin_SetRight sr)
{
sr.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");
}
然后在函数中调用它,这样也可以执行。
现在的关键是,我需要采用前面的两种方法,知道为什么这两种就不行吗?
{
Page.RegisterClientScriptBlock("cancel","<script language=javascript>window.open('Admin_MainForm.aspx');");
}
private void btnClear_Click(object sender, System.EventArgs e)
{
Page.RegisterClientScriptBlock("cancel","<script language=javascript>window.self.location.href='Admin_MainForm.aspx';");
}
{
Page.RegisterClientScriptBlock("cancel","<script language=javascript>window.self.location.href=Admin_MainForm.aspx;");
}
==>
private void btnClear_Click(object sender, System.EventArgs e)
{
Page.RegisterClientScriptBlock("cancel","<script language='javascript'>window.self.location.href='Admin_MainForm.aspx';</script>");
}
但是如果都用this.btnClear.Attributes.Add("window.open('Admin_MainForm.aspx');");则可以
知道是什么原因吗?
用RegisterClientScriptBlock()
或者RegisterStartupScriptBlock()
会提示“语法错误”
用Response.Write()的方式会提示“无效指针”
而用Attributes.Add()的方法则可以
有人遇到过这样的情况吗?
还有就是调用javascript函数的位置,是在提交dopostback之前还是dopostback之后
{
Page.RegisterClientScriptBlock("cancel","<script language='javascript'>window.open('Admin_MainForm.aspx');</script>"); Page.RegisterClientScriptBlock("cancel","<script language='javascript'>window.self.location.href='Admin_MainForm.aspx';</script>");
}
public void AlertSetRight(string str_Message,Admin_SetRight sr)
{
sr.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");
}
然后在事件处理函数里处理也可以
我现在主要是想知道
为什么像刚才两种方法就可以
另外的方法就不行?