如何解决Umbraco 如何解析表单 POST 到表面控制器?
我有一个 Ajax.beginform 将 ProductName 发布到表面控制器,或者至少这是我正在寻找的。 我似乎无法掌握模型。我可以使用 routeValues 传递简单的值,但是如何将复杂的对象传递给控制器?我使用以下控制器收到内部服务器错误 500:
public class NetShopController : RenderMvcController
{
public ActionResult AddProductForm(Product model)
{
var mod = model;// <-- Nothing in it and it returns a 500 error
return PartialView("~/Views/Partials/NetShop/result.cshtml",new HtmlString(Session["test"].ToString()));
}
}
以下是我的视图,如您所见,我只是尝试使用 Ajax.BeginForm POST 一个输入字段
@inherits UmbracoViewPage<Product>
@using ContentModels = Umbraco.Web.PublishedModels;
@{ Layout = "master.cshtml"; }
<!-- for the section we want to show the shop header -->
@Html.Partial("~/Views/Partials/SectionHeader.cshtml",Model.Parent)
<section class="section">
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="product-image-container">
<img class="product-image" src="@Model.Photos.Url()" alt="@Model.ProductName image" />
</div>
</div>
<div class="col-md-6">
<h1>@Model.ProductName</h1>
<div class="product-price">@Model.Parent.GetProperty("DefaultCurrency").Value() @Model.Price.ToString("F")</div>
<div class="product-teaser">@Model.Description</div>
<div class="product-button">
@using (Ajax.BeginForm(actionName: "AddProductForm",controllerName: "NetShopBasketSurface",routeValues: new { product = Model },ajaxOptions: new AjaxOptions()
{
UpdateTargetId = "form-result",HttpMethod = "post",InsertionMode = InsertionMode.Replace,OnSuccess = "addProductForm.showResult",OnFailure = "addProductForm.showResult"
},htmlAttributes: new { id = "pform" }))
{
<div>
@Html.HiddenFor(m => m.ProductName)
<button class="product-submit button button--border--solid" type="submit" id="addProductButton">Tilføj til kurv</button>
</div> @*<button class="button button--border--solid">Tilføj til indkøbskurv</button>*@
}
</div>
<div class="product-advantages">
@if (Model.Features != null)
{
foreach (var feature in Model.Features)
{
<div class="product-advantage">
<h4>@feature.GetProperty("featureName").Value()</h4>
<h5>@feature.GetProperty("featureDetails").Value()</h5>
</div>}
}
</div>
</div>
</div>
</div>
</section>
<section class="section section--sand">
<div class="container">
<!-- todo: Check if grid is empty via a property value converter -->
@Html.GetGridHtml(Model,"bodyText","bootstrap3-fluid")
</div>
</section>
<div id="form-result"></div>
我被卡住了!
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。