关于在.Net的代码文件中(.vb、.cs)执行 JavaScript脚本 的问题!

99414325ALe 2005-12-21 11:16:16
在代码文件.vb中执行 JavaScript 脚本。
如:Response.Write("<script>alert('aa');</script>")执行时没有任何问题,但我如何在代码文件中执行我自己定义的函数呢?
如:Response.Write("<script>OpenForm('gatheredit/searcharticle.aspx','AAA');</script>")
OpenForm是我自定义的一个打开窗体的函数,为什么执行不成功,我应该如何调用,谢谢!

我不想在界面代码文件中调用这个函数

请大家多指点!
...全文
361 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
99414325ALe 2005-12-23
  • 打赏
  • 举报
回复
不好意思,我太忙,不能经常上来,谢谢了!
99414325ALe 2005-12-22
  • 打赏
  • 举报
回复
Cnapollo(旁痞) 我觉得你这种脚本注册方式在aspx文件中还可以做,但问题是我执行 JavaScript 脚本的页面是控件(ascx),不是页面(Aspx),控件不支持您的那种方式!
Cnapollo 2005-12-22
  • 打赏
  • 举报
回复
ascx:
namespace GCKJ.Web.Temp
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

/// <summary>
/// CSDN99414325ALe 的摘要说明。
/// </summary>
public class CSDN99414325ALe : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.Button Button1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
string strScript ="<script>OpenForm('testDataGrid.aspx','AAA');</script>";

Page.RegisterClientScriptBlock("a",strScript);

}
}
}
aspx:
<%@ Page language="c#" Codebehind="CSDN99414325ALe.aspx.cs" AutoEventWireup="false" Inherits="GCKJ.Web.Temp.CSDN99414325ALe1" %>
<%@ Register TagPrefix="uc1" TagName="CSDN99414325ALe" Src="CSDN99414325ALe.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<script>
function newwin(url)
{

var win;
//win=window.open("testDataGrid.aspx?id='"+url+"'","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=365,height=400");
//alert(url);
win=window.open("testDataGrid.aspx?id='"+url+"'","","toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=365,height=400");
}
function OpenForm(a,b)
{

window.open(a,b,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=365,height=400");
}
</script>
<HTML>
<HEAD>
<title>CSDN99414325ALe</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<uc1:CSDN99414325ALe id="CSDN99414325ALe2" runat="server"></uc1:CSDN99414325ALe>
</form>
</body>
</HTML>
Cnapollo 2005-12-22
  • 打赏
  • 举报
回复
在吗?
sukyboor 2005-12-22
  • 打赏
  • 举报
回复
Page.RegisterClientScriptBlock

这几个函数是有先后顺序的,而且前面的那个字符串要是重复的话,会被最后一个所覆盖
99414325ALe 2005-12-22
  • 打赏
  • 举报
回复
你把你的ascx代码发给我好吗?

我的JavaScript脚本 OpenForm 放在body.aspx文件中,有一个控件A(ascx,在body.aspx文件中),我现在要有A控件中调用body.aspx的OpenForm,代码应该如何写

对了,我的OpenForm方法中是打开一个模式窗体,我适应如何将返回值传到A控件中,我可以Body.aspx(A控件的载体)中接收到返回值,我应该如何做才能将返回值做到A控件!
99414325ALe 2005-12-22
  • 打赏
  • 举报
回复
ascx可以注册吗?

我上次注册时提示错误
Cnapollo 2005-12-22
  • 打赏
  • 举报
回复
ascx里一样可以啊.我刚试过
要不你发代码我看看
Cnapollo 2005-12-22
  • 打赏
  • 举报
回复
刚看到消息,现在CSDN消息没提醒的,晕
我再试试看
  • 打赏
  • 举报
回复
www.bjcan.com/hengxing/more.asp
huangjietao 2005-12-21
  • 打赏
  • 举报
回复
aspx代码贴来看看
Cnapollo 2005-12-21
  • 打赏
  • 举报
回复
有问题再贴出来,顺便发个消息
Cnapollo 2005-12-21
  • 打赏
  • 举报
回复
string strScript ="<script>OpenForm('testDataGrid.aspx','AAA');</script>";

Page.RegisterClientScriptBlock("a",strScript);


function OpenForm(a,b)
{
window.open(a,b,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=365,height=400");
}

beginor 2005-12-21
  • 打赏
  • 举报
回复
将OpenForm函数写道一个js文件中,在aspx页面中添加
链接(<script src="..."></script>)。然后再在后台的
程序中写入你的Response的代码。顺便检查一下是不是被
什么插件给拦截了?
如果出错的话,在IE的下角会有教本错误的信息的。
99414325ALe 2005-12-21
  • 打赏
  • 举报
回复
没人回答吗?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧