Couchbase バックエンドを使用して Web アプリを構築しようとしています。
私がやろうとしているのは、すべての「フォーム」を返すことですが、このエラーが発生します
The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/forms/Index.aspx
~/Views/forms/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/forms/Index.cshtml
~/Views/forms/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
これが私のコントローラーです:
public class FormsController : Controller
{
public FormRepository formRepository { get; set; }
public FormsController()
{
formRepository = new FormRepository();
}
//
// GET: /Forms/
public ActionResult Index()
{
var forms = formRepository.GetAll();
return View(forms);
}
}
FormRepository は次のとおりです。
public class FormRepository : RepositoryBase<Form>
{
}
リポジトリベースは次のとおりです。
public abstract class RepositoryBase<T> where T : ModelBase
{
private readonly string _designDoc;
protected static CouchbaseClient _Client { get; set; }
static RepositoryBase()
{
_Client = new CouchbaseClient();
}
public RepositoryBase()
{
_designDoc = typeof(T).Name.ToLower().InflectTo().Pluralized;
}
public virtual IEnumerable<T> GetAll()
{
return _Client.GetView<T>(_designDoc, "all", true);
}
}
ここに私のインデックスがあります:
@model IEnumerable<QuickQuote.Models.Form>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.FormTitle)
</th>
<th>
@Html.DisplayNameFor(model => model.Type)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.FormTitle)
</td>
<td>
@Html.DisplayFor(modelItem => item.Type)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</table>
ここに私の Global.asax.cs があります:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterModelViews(IEnumerable<Assembly> assemblies)
{
var builder = new ViewBuilder();
builder.AddAssemblies(assemblies.ToList());
var designDocs = builder.Build();
var ddManager = new DesignDocManager();
ddManager.Create(designDocs);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
RegisterModelViews(new Assembly[] { Assembly.GetExecutingAssembly() });
}
}
私が作成した Couchbase View と関係があるのでしょうか、それとも別のことでしょうか? 助けてください!この段階でやりたいことはGetAll()
、Couchbase に保存されているすべてのドキュメントを返すことですが、そうするとすぐにlocalhost/forms
このエラーがスローされます。