我是 MVC 的新手,正在使用 API 服务开发 MVC 4,并且卡在将数据传递到模态弹出窗口的部分视图中,我需要在模态弹出窗口上单击产品列时获取所有这些数据,但它没有变确切地说。我已将数据(即 productid)传递给控制器,尽管淘汰赛 js 即将到来但在模式弹出窗口中不可见。这是我的js代码:
var ProductViewModel = function () {
var self = this;
$.ajax({
url: urlProduct + '/AllProducts/',
async: false,
dataType: 'json',
success: function (json) {
self.productsData = json;
}
});
self.getModalProductInfo = function (product) {
alert("Get Product Info - for ID:" + product.ProductId);
var self = this;
$.ajax({
url: urlProduct + '/Modalpopup/' + product.ProductId,
//url : '@Url.Action("/Modalpopup/", "Products")'+=product.ProductId,
//url += '/?min=' + ui.values[0] + '&max=' + ui.values[1];
//$("#ajaxresult").load(url),
//'@{Html.RenderAction("Modalpopup", "Products",new {id=product.ProductId});}'
async: false,
dataType: 'json',
success: function (json) {
self.modalPopupdata = json;
}
});
}
}
ko.applyBindings(new ProductViewModel());
并且是我的产品页面:
<div class="span3" style="margin-right:-1em;">
<ul class="thumbnails" style="height:280px;">
<li >
<div class="thumbnail zoom" id="wrapper">
<a href="#portfolioMod1" data-toggle="modal" data-bind="click:$parent.getModalProductInfo">
<div data-bind="foreach:ProductImages">
<!-- ko if: SortOrder === 1-->
<img data-bind="attr:{src:Product_Image_path}" />
<!-- /ko -->
</div>
</a>
<!-- Start: Modal -->
@Html.Partial("_ProductModalPopup")
<!-- End: Modal -->
<div id="SL13" style="margin-bottom:0px; border-bottom:1px solid #dedede; height:20px">3 colors</div>
<div class="text" style="display:none;"><img src="~/Images/thumb1.gif" /><img src="~/Images/thumb2.gif" />
<img src="~/Images/thumb3.gif" /><img src="~/Images/arrow.gif" align="right"/></div>
<div style="margin-bottom: -3px;" data-bind="text:ProductName" ></div>
<div ng-controller="RatingDemoCtrl"><rating value="rate" max="5" readonly="isReadonly"></rating></div>
<div style="font-weight: lighter;margin-bottom: 5px;" data-bind="foreach:ProductInfo" >
<!-- ko if: Key === 'Price'-->
<span style="color:#fe3c3e;" data-bind="text:Value"></span>
<!-- /ko -->
</div>
<div class="text" id="SD1" >
<button type="submit" class="btn btn-inverse btn-small" onclick="redirect13();" >
<small style=" font-size:8px; "><strong>ADD TO BAG</strong>
</small>
</button>
<span style="float:right" align="top"><button type="submit" class="btn btn-danger btn-small" onclick="redirect12();" >
<small style=" font-size:8px; ">CHECK OUT</small>
</button>
</span>
</div>
<div data-bind="text:ProductId" style="display:none"><div>
<input id="pid" data-bind="text:ProductId" />
</div>
</li>
</ul>
</div>
</div>
@Html.Partial("_ProductModalPopup") 是局部视图。控制器动作动作是:
public ActionResult Modalpopup( int id)
{
ModalPopup modalid = new ModalPopup();
modalid.Productid = id;
ViewBag.Pid = id;
ViewBag.ModalPopup = modalid.Productid;
ViewBag.Message = "The ProductID:";
return PartialView("_ProductModalPopup",id);
// return RestJsonCRUD.InvokeReadCall(URL + "/ProductRest/GetProductDetailsByID/" + id, null);
}
谁能帮我从上面的代码中整理问题。