问个小白问题!超连接的!

cryks 2009-04-02 04:07:21
我有一个 框架页

里面 有 A页 B页

我在A页 如何 用 后台控件 在后台代码里 将传 用地址传参 传到B页去

不能是 新开窗哦//////

要让 传的值 在 框架B页中 显示出来

请教写法
...全文
152 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
Airad 2009-04-07
  • 打赏
  • 举报
回复
就是这么传值的,这个AJAX引擎是用来做登录,注册的。最主要的一点就是无刷新的传值。

那个网站是在做测试用的。

//Ajax核心引擎

//本项目组版权所有

var xmlHttp; //声明XMLHttpRequest对象

function createXMLHTTP() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //mozilla浏览器
}
else if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //IE老版本
}
catch (e)
{ }
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE新版本
}
catch (e)
{ }
if (!xmlHttp) {
window.alert("AJAX初始化失败");
return false;
}
}
}

//-----------------------------------------------------------------------------------------------------------------------

function isemail(strg) {
if (!(strg.indexOf("@") > 3 && strg.indexOf(".") > 1)) return false;
if (strg.indexOf("@", strg.indexOf("@") + 1) > 0) return false;
var strarray = new Array("@@", "@.", "..")
for (i = 0; i < strarray.length; i++)
if (strg.indexOf(strarray[i]) > 0) return false;
for (i = 0; i < strg.length; i++)
if (strg.substr(i, 1) <= "," || strg.substr(i, 1) == "/" || (strg.substr(i, 1) >= "[" && strg.substr(i, 1) <= "") || strg.substr(i, 1) == "`" || (strg.substr(i, 1) >= ":" && strg.substr(i, 1) <= "?") || strg.substr(i, 1) >= "{") return false;
return true
}


//登录
function Login() {
if (document.getElementById("userName").value == "") {
Growl.Smoke({ title: '请输入用户名', text: 'Please input the username.</br>' });
return false;
}
if (document.getElementById("userPwd").value == "") {
Growl.Smoke({ title: '请输入密码', text: 'Please input the password.</br>' });
return false;
}
createXMLHTTP(); //创建XMLHttpRequest对象
var url = "JSEtoClS.aspx?Username=" + document.getElementById("userName").value + "&Pwd=" + document.getElementById("userPwd").value + "&Event=Login";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = userLogin;
xmlHttp.send(null);
}
//登陆回调函数
function userLogin() {
if (xmlHttp.readyState == 4)//判断对象状态
{
if (xmlHttp.status == 200)//信息成功返回,开始处理信息
{
if (xmlHttp.responseText == "true")//获取的Response.Write("true");里面的文本
{

mySlide.slideOut();

Growl.Smoke({ title: '登录成功', text: 'Login Success!</br>' });

//----------------------main------display:none-----------------

document.getElementById("main").style.display = "none";


//---------------------用JS向cookie写入里的name值---------------

var e = new Date();
e.setTime(e.getTime() + 1000 * 60 * 60 * 24 * 30);

document.cookie = "NIPOONVOICE" + "=" + encodeURI(document.getElementById("userName").value) + "; path=" + "/" + "; expires=" + e.toGMTString();


//---------------------清空登录框---------------
//document.getElementById("userName").value = "";
//document.getElementById("userPwd").value = "";

self.location = "AllMusic.aspx"; 
}
else {
Growl.Smoke({ title: '对不起,用户名或者密码错误', text: 'The username or password </br> is not correct.' });
//document.getElementById("userName").value = "";
document.getElementById("userPwd").value = "";

}
}
}
}

//-----------------------------------------------------------------------------------------------------------------------


//注册新用户
function regUser() {


if (document.getElementById("reg_userName").value == "") {
Growl.Smoke({ title: '请输入Email', text: 'Please input your Email as the username.' });
return false;
}

if (!isemail(document.getElementById("reg_userName").value)) {
Growl.Smoke({ title: 'Email格式不正确', text: 'Illegal Email.' });
return false;
}

if (document.getElementById("reg_userPwd").value == "") {
Growl.Smoke({ title: '请输入密码', text: 'Please input the password.' });
return false;
}

if (document.getElementById("reg_userPwd").value.length < 5 ) {
Growl.Smoke({ title: '密码长度不能少于5位', text: 'Need your password length more then 5.' });
return false;
}

createXMLHTTP(); //创建XMLHttpRequest对象
var url = "JSEtoClS.aspx?Username=" + document.getElementById("reg_userName").value + "&Pwd=" + document.getElementById("reg_userPwd").value + "&Event=Reg";

xmlHttp.open("get", url, true);
xmlHttp.onreadystatechange = regUserInfo;
xmlHttp.send(null);

}

//注册用户回调函数
function regUserInfo() {
if (xmlHttp.readyState == 4)//判断对象状态
{
if (xmlHttp.status == 200)//信息成功返回,开始处理信息
{
if (xmlHttp.responseText == "true")//获取的Response.Write("true");里面的文本
{
TB_remove();
Growl.Smoke({ title: 'Success', text: '恭喜,注册成功' });

}
else {
Growl.Smoke({ title: 'Error', text: '对不起,用户名已存在' });
document.getElementById("reg_userName").value = "";
document.getElementById("reg_userPwd").value = "";
document.getElementById("reg_Email").value = "";
}
}
}
}

//-----------------------------------------------------------------------------------------------------------------------


//上传显示
function Upload_show() {

if (document.getElementById('FileUpload1').value == "") {
alert('上传文件不能为空!');
return false;
}
else if (document.getElementById('TextBox_Name').value == "") {
alert('音乐名称不能为空!');
return false;
}

parent.document.getElementById('light').style.display = 'block';
parent.document.getElementById('fade').style.display = 'block';

return true;
}

//-----------------------------------------------------------------------------------------------------------------------

Airad 2009-04-07
  • 打赏
  • 举报
回复
http://WWW.GOOGLEBATTLE.COM.CN/AjaxEngine.js
这个。
Airad 2009-04-07
  • 打赏
  • 举报
回复
用AJAX,具体代码,你到HTTP://WWW.GOOGLEBATTLE.COM.CN 查看源文件,里面有个JS写的AJAX引擎,应该完全符合你的要求!
用AJAX两层传值,就不会新开页面了!

HTML 传到 JS , JS 再传到 ASPX , ASPX 处理后返回值给 JS ,JS 再返回给页面,通过HTTP XML请求。

你要的话,我的邮箱:ddbest7711@126.com 整个过程一起发给你。
cryks 2009-04-07
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 calvincjl 的回复:]
很简单,方法如下(用好了记得多给分哦,呵呵):
首先要设置好,在框架控件(多用iframe来做)的name属性随意设置一个名字,如:name="pageB"
然后在A页里面的超链接(用HyperLink来做)的Target属性设置为Target="pageB"

那么就可以在A页面后台来操作HyperLink的NavigateUrl属性来任意传值了
比如:"PageX.aspx?id='"+你想要加的东东+"'";
最后你只用在B页面的后台用Request.QueryString["id"]即可获得“你想要加的东…
[/Quote]

这个我早知道了...

上面的几个 也说了这个办法..

我也说了N次...

我要的就是如何定义连接的 走向

如何让他在指定框架显示..

郁闷................

为什么我问这个 你们偏偏要答那个

淡然游江湖 2009-04-07
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 cryks 的回复:]
引用 20 楼 calvincjl 的回复:
很简单,方法如下(用好了记得多给分哦,呵呵):
首先要设置好,在框架控件(多用iframe来做)的name属性随意设置一个名字,如:name="pageB"
然后在A页里面的超链接(用HyperLink来做)的Target属性设置为Target="pageB"

那么就可以在A页面后台来操作HyperLink的NavigateUrl属性来任意传值了
比如:"PageX.aspx?id='"+你想要加的东东+"'";
最后你只用在B页面的后台用Request.QueryStri…
[/Quote]

你把链接全部用HyperLink来做,通过设置他们的target属性来控制对页面上指定框架的显示,不就可以了嘛。
cryks 2009-04-03
  • 打赏
  • 举报
回复
这个问题就没人知道吗?
淡然游江湖 2009-04-03
  • 打赏
  • 举报
回复
很简单,方法如下(用好了记得多给分哦,呵呵):
首先要设置好,在框架控件(多用iframe来做)的name属性随意设置一个名字,如:name="pageB"
然后在A页里面的超链接(用HyperLink来做)的Target属性设置为Target="pageB"

那么就可以在A页面后台来操作HyperLink的NavigateUrl属性来任意传值了
比如:"PageX.aspx?id='"+你想要加的东东+"'";
最后你只用在B页面的后台用Request.QueryString["id"]即可获得“你想要加的东东”,那么就可以随意你来操作数据了

很简单吧!
sayluyun 2009-04-03
  • 打赏
  • 举报
回复
讲Target属性设置一下就可以··
yangniao 2009-04-03
  • 打赏
  • 举报
回复
我有点菜,看你连回了三帖,知道你再也讲不出来话了,嘿嘿
不知道是的那个a页面和b页面是不是在同一个页面中,就是左右那种类型的,
cryks 2009-04-03
  • 打赏
  • 举报
回复
这个问题就没人知道吗?
cryks 2009-04-02
  • 打赏
  • 举报
回复
....................
跟没说一样.....

moudy 2009-04-02
  • 打赏
  • 举报
回复
这是javascript脚本,前台是怎么写,这里就怎么写。

如:script="parent.rightframeName.location='right.aspx?para=参数'"
cryks 2009-04-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 moudy 的回复:]
1.按钮里面执行脚本事件。
public void ExecuteStartup(string script) //script是普通的javascript,包含跳转
{
//脚本的内容
string strScript;
strScript = " <script language=javascript>";
strScript += script;
strScript += " </script>";
RegisterStartupScript(System.Guid.NewGuid().ToString(), strScript);

[/Quote]

请问你的这个是个什么意思

没看明白

只看见连接 页面 那指定在 框架呢 在哪?
moudy 2009-04-02
  • 打赏
  • 举报
回复
1.按钮里面执行脚本事件。
public void ExecuteStartup(string script) //script是普通的javascript,包含跳转
{
//脚本的内容
string strScript;
strScript = "<script language=javascript>";
strScript += script;
strScript += "</script>";
RegisterStartupScript(System.Guid.NewGuid().ToString(), strScript);
}

2.
Response.Write("<script language='javascript'>window.location='left.aspx';parent.rightframeName.location='right.aspx');
cryks 2009-04-02
  • 打赏
  • 举报
回复
我汗....

就一个 框架页面传参的问题

还要用到session啊 汗
cryks 2009-04-02
  • 打赏
  • 举报
回复


顶一个

wp19861223 2009-04-02
  • 打赏
  • 举报
回复
放session里吧
cryks 2009-04-02
  • 打赏
  • 举报
回复
-------------------------------------------------------
| A页面 | B页面 |
| | |
| | |
| [按钮A] | |
| | |
| | |
| | |
| | |
| | |
-------------------------------------------------------
[以上这是一个框架页 如果不知道啥是框架页 就请无视我这贴吧]

我现在就只想知道 我在A页面按下按钮A的时候

跳到后面代码 在后台代码里 我如何 指定一个页面 让他显示在B页面这个框架里面 能指定过去 传参这些自然不在话下

现在的问题就是 不用前台的 Target="B页面"

要在后台写 我要后台代码.......
cryks 2009-04-02
  • 打赏
  • 举报
回复
你能不能先别管 传参 还有什么保存不保存的 我都没问这些


我只想知道 怎么在后台 写一个连接 让指定页面 在指定的框架中显示!

net_boy 2009-04-02
  • 打赏
  • 举报
回复
相当于传参过去给B,这时候B页要重新加载,B页以前的历史数据及状态你要自己手动写代码保存。否则会丢失的。
加载更多回复(5)

62,268

社区成员

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

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

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

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