我有一个parent.cshtml页面,其中呈现一个名为_child.cshtml的部分视图。此_child.cshtml包含一个数据表,并显示网格中的数据。每当这个datatable不包含时,我就需要隐藏parent.cshtml中的按钮。请帮帮我,我怎么能做到这一点。
到目前为止,我已经尝试了下面的父母观点。
jQuery.ajax(type: "POST",
url: "{ChilePartialView}",
data: { data },
success: function (response)
{
if (!response.Product.Count > 0) {
jQuery("formSaveButton").hide();
}
});
此外,我也尝试了以下几点:
jQuery(文档).ready( $.get('/ControllerName/ActionMethodName‘),函数(数据){ if (!data.Products.Count > 0) { $("formSaveButton").hide ();});
但他们都不起作用
发布于 2019-07-03 15:24:49
您应该理解,您的控制器的操作基本上只返回html标记(如果您没有显式返回其他ActionResult,例如JSON)。您不能以这样的方式处理这个标记
if (!data.Products.Count > 0)
插入到子视图的任何JS脚本都将被呈现为html页面的一部分,并且可以从页面中隐藏任何元素--不管隐藏元素在服务器端的父视图还是子视图中。因此,您可以将一个内联脚本插入到您的子视图中,该脚本将在$(document).ready侦听器中隐藏选定的元素。
更精确的解决方案使用部分(例如,这个停战),允许在一个地方输出所有内联脚本(通常在关闭主体标记之前)。
https://stackoverflow.com/questions/56878513
复制