Я работаю над модулем, следуя инструкциям здесь http://orchardproject.net/docs/Creating-a-module-with-a-simple-text-editor.ashx
Единственное изменение, которое я хочу сделать, - это создание продукта вне модуля администратора. Итак, я создал homecontroller, как это
public class HomeController : Controller
{
public HomeController(IContentManager cm) {
ContentManager = cm;
}
private IContentManager ContentManager { get; set; }
public ActionResult Index() {
return Content("This is index");
} [Themed]
public ActionResult Create()
{
var product = ContentManager.New("Product");
var model = ContentManager.BuildEditor(product);
return View((object) model);
}
и файл rout.cs в корневой папке
public class Routes : IRouteProvider
{
public void GetRoutes(ICollection<RouteDescriptor> routes)
{
foreach (var routeDescriptor in GetRoutes())
routes.Add(routeDescriptor);
}
public IEnumerable<RouteDescriptor> GetRoutes()
{
return new[] {
new RouteDescriptor {
Priority = 5,
Route = new Route(
"commerce",
new RouteValueDictionary {
{"area", "SimpleCommerce"},
{"controller", "Home"},
{"action", "Index"}
},
new RouteValueDictionary(),
new RouteValueDictionary {
{"area", "SimpleCommerce"}
},
new MvcRouteHandler())
},
new RouteDescriptor {
Priority = 6,
Route = new Route(
"commerce/Create",
new RouteValueDictionary {
{"area", "SimpleCommerce"},
{"controller", "Home"},
{"action", "Create"}
},
new RouteValueDictionary(),
new RouteValueDictionary {
{"area", "SimpleCommerce"}
},
new MvcRouteHandler())
}
};
}
}
Итак, как мне двигаться дальше, чтобы сделать все это вместе, когда я перейду к URL http://localhost:35713/commerce/create
Но выдает ошибку, говорящую, что Create View не нашел. Затем я создал представление (create.cshtml) в папке Views / Home
@model SimpleCommerce.Models.ProductPart
<fieldset>
<label class="sub" for="Sku">@T("Sku")</label><br />
@Html.TextBoxFor(m => m.Sku, new { @class = "text" })<br />
<label class="sub" for="Price">@T("Price")</label><br />
@Html.TextBoxFor(m => m.Price, new { @class = "text" })
</fieldset>
Теперь выдает ошибку: 1017 *
Элемент модели, передаваемый в словарь, имеет тип 'IShapeProxyedcfa08c61cf49898dc2e77bde025039', но для этого словаря требуется элемент модели типа 'SimpleCommerce.Models.ProductPart'.