Получаю 500 внутреннюю ошибку, пока хочу получить значения DDL в MVC 4
он работает и дает мне идентификатор продукта, как показано ниже, но не показывает мне детали Porduct:
http://localhost:24494/Merchant/GetProduct?id=14
Controler:
[HttpGet]
public PartialViewResult GetProduct(int id)
{
ProductRepository BlProduct = new ProductRepository();
var model = BlProduct.Find(id);
return PartialView("_CampProductPartialView", model);
}
Partial:
@model CrazyAvocado.ViewModels.Merchant.AddCampaignViewModel
<div class="display-field">
@Html.DisplayFor(model => model.Product.Name)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Product.Price)
</div>
вид:
@using (Html.BeginForm("AddCampaign", "Merchant", FormMethod.Post, new { enctype = "multipart/form-data", id = "myUploadForm" }))
DROPDOWNLIST:
@Html.DropDownListFor(x => Model.Campaign.Productid, new SelectList(Model.Products, "id", "Name"), htmlAttributes: new { @class = "form-control", id = "ProductsDDL" })
Div, в котором должны отображаться детали:
Div id - это "divPartialView"
@Html.Partial("_CampProductPartialView")
И, наконец, сценарий Jquery
<script>
$("#ProductsDDL").change(function (event) {
var ProductId = $(this).val();
$.ajax({
url: "@Url.Action("GetProduct", "Merchant")",
data: { id: ProductId },
type: "Get",
dataType: "html",
success: function (data) {
//Whatever result you have got from your controller with html partial view replace with a specific html.
$("#divPartialView").html(data); // HTML DOM replace
}
});
});
</script>