我通常对DNN和.NEt不熟悉,所以我在这里可能犯了很多错误。我的目标是要有一个DNN模块,您可以在其中上传带有标题和描述的图像-我是通过适当地修改模板模块,使用项目模型/控制器等来实现的。我尝试添加项目评级模型/控制器,但是我不知道我到底在哪里犯错。
我的目标是为添加的每个项目都具有一个“ Upvote”按钮,并且该按钮只会向我在数据库中创建的第二张表中添加一个条目以算作Upvote。但是使用当前代码,我无法成功插入db。
我正在研究MVC模块模板,并在DNN8上作为测试环境。
这是我的github上的项目(想起来会容易得多:https://github.com/mheonyae/rating
整个前端可以在Index.cshtml中看到:
<div id="[email protected]">
@if (Model.Count() == 0)
{
<p>No meme's submited *SadPanda*</p>
}
else
{
<ul class="tm_tl">
@foreach (var item in Model)
{
<li class="tm_t">
<h3>@item.ItemName</h3>
<div class="upvote">
@Html.ActionLink(
"Upvote", // linkText
"UpvoteRating", // actionName
"Item", // controllerName
new { // routeValues
item = item
},
null // htmlAttributes
)
</div>
<div class="tm_td">
<img src="~/desktopmodules/MVC/Memeometer/Memes/@item.ImagePath" style="float:left; width:220px; height:auto;" />
</div>
<div class="rating">
Rating:
</div>
@{
if (Dnn.ModuleContext.IsEditable)
{
<div>
<a href="@Url.Action("Edit", "Item", new {ctl = "Edit", itemId = item.ItemId})">@Dnn.LocalizeString("EditItem")</a>
<a href="@Url.Action("Delete", "Item", new {itemId = item.ItemId})">@Dnn.LocalizeString("DeleteItem")</a>
</div>
}
}
</li>
}
</ul>
}
</div>
我对此完全陌生,因此任何深入的解释将不胜感激。
查看我用于训练的DNN MVC模块教程示例。它具有完全正常工作的CRUD(创建/读取/更新/删除)数据存储库和图像上传。
https://github.com/DotNetNuclear/DnnRestaurantMenu/tree/master/RestaurantMenu.MVC
您可以下载源程序包并安装模块进行测试。
https://github.com/DotNetNuclear/DnnRestaurantMenu/releases
留下任何其他问题发表评论。