我在使用 CodeIgniter 时遇到问题。我已经检查了互联网上所有可能的解决方案,但似乎对我的情况没有任何帮助。我不是专业人士,这是我第一次使用 CodeIgniter,所以不要对我太苛刻。
路由.php:
$route['default_controller'] = "page";
$route['404_override'] = '';
$route['(:num)'] = "page/index/$1";
页面.php:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Page extends CI_Controller {
public function index($id=null) {
$this->load->model('Image','',TRUE);
$this->load->model('Banner','',TRUE);
$image = $this->Image->getImageById($id);
if (empty($image)) {
show_404();
}
//db table `banner` always have three rows
$banners=$this->Banner->getBanners();
$data=array();
$data['image']=$image;
$data['banner']=$banners;
$this->load->view('page_index', $data);
}
}
最佳答案
我已阅读您的问题。您在保存 Controller 时犯了错误。
它应该以大写形式保存,即 Page.php
但您已保存为 page.php
我认为这会成功!
关于php - CodeIgniter "The page you requested was not found."错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633582/
有没有办法在一次调用中获取HttpContext.Current.Request.Url.Host和HttpContext.Current.Request.ApplicationPath?像“完整的应用程序url”之类的东西?编辑:澄清-我需要的是[]中的部分:http://[www.mysite.com/mywebapp]/Pages/Default.aspx我只是出于好奇才问的。编辑2:感谢所有回复,但没有一个正是我要找的。仅供引用,我通过这种方式解决了问题(但我仍然想知道是否有更流畅的方法):publicstringGetWebAppRoot(){if(HttpContext.C
以下是我搭建的网站环境:我有一个母版页。我已经从中创建了一个子页面。我已将脚本管理器放在母版页上。现在我想访问母版页的脚本管理器以在我的代码隐藏(C#)文件中动态创建用户控件。如何访问放置在母版页上的脚本管理器到我的子页。 最佳答案 我明白了,它在ScriptManager类本身中给出。System.Web.UI.ScriptManager.GetCurrent(this.Page); 关于c#-如何将母版页的ScriptManager放入子页的代码隐藏在c#(.cs)文件中,我们在St
我需要删除某些文件,然后用户关闭了WPF中的程序。所以我从这里尝试了MDSN代码http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx这样:此代码位于App.xml.cspublicpartialclassApp:Application{voidApp_Exit(objectsender,ExitEventArgse){MessageBox.Show("Filedeleted");varsystemPath=System.Environment.GetFolderPath(
我在特定的DLL中使用Nlog进行日志记录。然后在另一个应用程序中使用该DLL(使用System.Reflection.Assembly.LoadFrom(path+a.dll)动态加载它)。我手动将Nlog.dll和Nlog.config文件放在Path文件夹中,应用程序可以正常执行,但不会记录任何消息。但是,当我继续将Nlog.config文件手动放入应用程序目录(\bin\debug\)时,会记录消息。谁能告诉我如何将Nlog.Config的搜索位置指向不同于\bin\debug\的目录(d:\dev)。 最佳答案 下面是我如
当我尝试编译我的C#程序时出现以下错误:找不到类型或命名空间名称“Login”(是否缺少using指令或程序集引用?)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceFootballLeague{publicpartialclassMainMenu:Form{FootballLeagu
我正在尝试通过HTTPpost从Windows应用商店应用程序向服务器发送一些图像+一些元数据,但在尝试将数据实际包含在post中时卡住了。由于商店应用程序API的更改,无法像在Windows窗体应用程序或类似应用程序中那样完成此操作。我得到了错误。cannotconvertsourcetypebyte[]totargettypeSystem.Net.Http.httpContent现在这显然是因为它有2种不同的类型不能隐式转换,但这基本上是我希望能够做到的。如何将我的字节数组数据放入httpContent类型,以便我可以将其包含在以下调用中httpClient.PostAsync(U
有没有一种不编写递归方法的简单方法,该方法将为Type类中的泛型类型提供“用户友好”的名称?例如对于下面的代码,我想要类似'List>'的东西,而不是下面代码给出的速记或全名:varlist=newList<Dictionary<int,string>>();vartype=list.GetType();Console.WriteLine(type.Name);Console.WriteLine(type.FullName); 最佳答案 根据您编辑的问题,您需要这样的内容:publicstaticstring
是否有一种方法或技术可以让您将元素插入到Dictionary<TKey,TValue>保证该项目位于该字典的KeyCollection的第一个索引中。例如:Dictionary<String,String>dic=foo.GetOutput();//`dic`issomethinglike://{"foo","baa"},//{"a","b"}我需要这样的东西:dic.Add("key","value",0);//where`0`istheindexthat`key`
我今天正在写一些代码,当我按住alt-tab键切换到另一台显示器上的屏幕以检查某些内容时,我正在中线。当我回头看时,ReSharper将灰色下方的第3行涂上了注释“分配的值未在任何执行路径中使用”。varltlName=(Literal)e.Item.FindControl("ltlName");stringname=item.FirstName;name+=ltlName.Text=name;我很困惑;这段代码肯定无法编译。但它确实如此,而且它也在运行。“name+=”行对字符串没有影响(据我所知)。这是怎么回事?(VisualStudio2008、.NET3.5)
在CompositeApplicationGuidelines中遇到了以下行。我知道=>是一个lambda,但是()是什么意思?这还有哪些其他示例?它叫什么,我可以搜索一下吗?this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion,()=>this.container.Resolve<EmployeesListPresenter>().View); 最佳答案 这是一个接受0个参数的lambda表达式http://msdn.
代码:stringspName="usp_Test_Procedure.sql";vartfsPp=newTeamProjectPicker(TeamProjectPickerMode.SingleProject,false);tfsPp.ShowDialog();_tfs=tfsPp.SelectedTeamProjectCollection;if(tfsPp.SelectedProjects.Any()){_selectedTeamProject=tfsPp.SelectedProjects[0];}stringselectedProjectName=_select
我有一个C#应用程序,我尝试使用一些mshtml元素。但我有一个问题。usingmshtml;命名空间给我一个错误是VisualStudio2012。这是我的源代码,namespaceTagger{usingmshtml;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;usingSystem.Text;publicclassHTMLForm{privatestring_action="";privatestri
我希望标题中的每个单元格都包含一个自动过滤器。下面是我尝试使用的代码,但是autofilter仅在指定的最后一个单元格上设置。例如,如果我注释掉K1的autofilter命令,则创建电子表格时C1是唯一具有自动过滤器。//Headersws.Cells["A1"].Value="ChannelCode";ws.Cells["A1"].AutoFilter=true;ws.Cells["B1"].Value="DrmTerrDesc";ws.Cells["B1"].AutoFilter=tru
无法分配“AppendText”,因为它是“方法组”。publicpartialclassForm1:Form{Stringtext="";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Stringinches=textBox1.Text;text=ConvertToFeet(inches)+ConvertToYards(inches);textBox2.AppendText=text;}privateStringConvertToFeet(S
为什么我不能转换List<AnonymousObject>到List<dynamic>?我有以下代码:vardatasource=someList.Select(o=>new{x=o.A,y=o.B});dgvSomeGridView.DataSource=datasource.ToList();dgvSomeGridView.DataBind();然后我访问GridView.DataSource使用以下代码:vards=((List<dynamic>)dgvSomeGridView.DataSource);....但它在我将其转换为List&
我试图在我的服务类中遵循RAII模式,这意味着当一个对象被构建时,它就被完全初始化了。但是,我在使用异步API时遇到了困难。相关类的结构如下所示classServiceProvider:IServiceProvider//Isonlyusedthroughthisinterface{publicintImportantValue{get;set;}publiceventEventHandlerImportantValueUpdated;publicServiceProvider(IDependency1dep1,IDependency2dep2){//IDependency1provi
我学校的网页有自信任证书(必须手动安装)。我想创建一个程序,用于将certificate.cer(来自VisualStudio资源)安装到本地用户的Trustedrootcertificateauthority。你知道我如何在C#中做到这一点吗? 最佳答案 要以编程方式将证书添加到当前用户的受信任根存储,请使用X509Store和X509Certificate2类。例如:stringfile;//ContainsnameofcertificatefileX509Storestore=newX509Store(StoreName.Ro
我在CheckedListBox中有一些项目,我想禁用其中第一个项目的CheckBox。即我想禁用CheckedListBox中的第一项,因为我想直观地告诉用户该选项不可用。 最佳答案 结合上述部分答案中的2个对我来说效果很好。将您的项目添加到列表中:myCheckedListBox.Items.Add(myItem,myState);其中myState是CheckState.Indeterminate,表示应禁用的项目。然后添加一个事件处理程序以防止这些项目被更改:myCheckedListBox.ItemCheck+=(s,e)
我制作了一个关于框,旨在允许用户单击超链接电子邮件地址,这会将他们带到MicrosoftOutlook以便能够向该电子邮件地址发送电子邮件,但我不知道如何链接它到Outlook并允许用户单击链接来执行此操作 最佳答案 您没有说您使用的是Win还是WebForms...在WinForms中,我认为您需要为单击事件创建一个事件处理程序。在其中,您可以通过键入以下内容来启动默认邮件应用程序:System.Diagnostics.Process.Start("mailto:youremail@xx.com");
我需要在内存中按升序或降序对字符串或数字列表进行排序。但是,列表可以包含空值,并且所有空值都必须出现在数字或字符串之后。也就是说输入数据可能是:1,100,null,5,32.3上升的结果是1,5,32.3,100,null降序列表将是100,32.3,5,1,null关于如何使这项工作有任何想法吗? 最佳答案 我面前没有编译器可以检查,但我在想:x.OrderBy(i=>i==null).ThenBy(i=>i) 关于c#-您如何在LINQ中进行自定义排序,最后始终为nul