有没有办法使用codeigniter从我们的视图中调用控制器内部的方法。我知道这是一个不好的做法,但现在我强迫这样做。谢谢你
答案 0 :(得分:9)
如果要调用当前控制器的函数,则必须以这种方式获取当前控制器的实例:
private void _txtFilterEmail_TextChanged(object sender, EventArgs e)
{
BindingSource bs = new BindingSource();
bs.DataSource = dataGridView1.DataSource;
bs.Filter = string.Format("[{0}] LIKE '%{1}%'",
dataGridView1.Columns[1].HeaderText.ToString(), _txtFilterEmail.Text);
dataGridView1.DataSource = bs;
}
答案 1 :(得分:7)
你可以这样做:
$this->controller_method();
虽然这可能会回答你的问题,但我个人同意 - Matthew J Morrison和DamienL的评论。
答案 2 :(得分:4)
在您的控制器中
$data['myClass'] = $this;
这样,当您将数据发送到视图时,它将加载控制器:)
然后你可以访问像
这样的方法$myClass->method();
答案 3 :(得分:4)
在控制器中:
$this->method_call =& get_instance();
在视图中
$this->method_call->show();