ecpt 发表于 2010-5-20 17:41:07

如何给frame传递参数

网站的目录结构为
chip(网站页面碎片存放目录)
css(css文件存放目录)
img(图片存放目录)
js(js存放目录)
system(CI框架目录)
|--
......
......
|-application
      |-controllers
            |-client.php
      ................
      ................
      |-views
            |-index.php

index.php 文件代码如下

<html>
<head>
<title>管理中心</title>
<meta http-equiv=Content-Type content=text/html;charset=utf-8>
</head>
<frameset rows="64,*"frameborder="NO" border="0" framespacing="0">
<frame src="/chip/admin_top.php" noresize="noresize" frameborder="NO" name="topFrame" scrolling="no" marginwidth="0" marginheight="0" target="main" />
<frameset cols="200,*"rows="560,*" id="frame">
<frame src="/chip/left.php" name="leftFrame" noresize="noresize" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" target="main" />
<frame src="/chip/right.php" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" target="_self" />
</frameset>
<noframes>
<body></body>
    </noframes>
</html>

通过控制器加载试图文件 index.php 一切正常,但是我想给left.php传递参数,使用$this->load->view("index",$data);总是传递不成功。

按照http://codeigniter.org.cn/forums/thread-82-1-1.html这里的方法可以传递参数,但是如果我有很多页面,控制器就会变得很大。使用上面的那种加载方法,如何传递参数呢,请高手指教。

myzingy 发表于 2010-5-20 18:10:25

你需要单独为left.php做一个控制器

haohailuo 发表于 2010-5-20 18:11:31

http://codeigniter.org.cn/forums/thread-82-1-1.html
上面的帖子已经讲解的很详细了,但这一句“如果我有很多页面,控制器就会变得很大。”不明白是什么意思,页面多了可以分控制器啊,而且你的frame页面也不会太多吧,你总不能吧所有的功能放在一个文件中吧?

ares333 发表于 2010-5-20 18:14:28

left.php top.php right.php 分别在控制器中设置3个方法与之对应,你的控制器多两个函数不会有什么影响

实话告诉你,这就是最好的方法

ecpt 发表于 2010-5-21 09:11:37

如果我的 左边frame有50个列表项 那么右边frame就有对应的50个页面,控制器中也要有50个对应
function xxx(){
    $this->load->view('xxx');
}
这样写是不是太麻烦了,真的没有办法实现
function cc(){
    $this->load->view('index',$data);
}

让index.php中的frame 直接接收$data 中的参数么?

ecpt 发表于 2010-5-21 09:13:41

:( 好像我想的有点儿错误,试验中。。。。。。

Hex 发表于 2010-5-21 10:03:58

frame 传参和 CI 无关吧!主页面和frame之间是两个请求,这之间传递数据和纯 PHP 有什么区别吗?以前用纯 PHP 怎么传递参数呢???

ecpt 发表于 2010-5-21 14:17:47

老大终于出来了,呵呵。
控制器中
function ss(){
//加载模型获取参数值
$this->load->model('ddd') ;
$data["dd"] = $this->ddd->sss();

$this->load->view("index",$data);
}

视图 index.php 中是frame框架,就像最上面的框架代码一样,视图index.php中的框架好像接收不到通过$data传进来的值。
页: [1]
查看完整版本: 如何给frame传递参数