我有一个大型网站似乎正在吸收正在分配的所有内存.此站点旁边的服务器上没有其他任何内容.在一周内,它会吃掉2场演出并需要重新启动.目前这是使用IIS 7的服务器2008 32位.我们重新安装使用64位并添加更多内存.能够追踪泄漏发生的位置会很好.
那么跟踪内存泄漏的最佳做法是什么?
我有一堆带有一堆类的CSS文件.我知道很多都没用过.
是否有一个工具可以扫描您的网站并清理您的CSS文件或告诉我哪些不使用?
我的ajax调用让我的web.api方法变得麻烦.如果我从api和js中删除了Guid orderId,则调用将其发送给控制器,但是pizza对象为空.如果我在URL中传递Guid,它也会转到控制器但没有披萨.请解释为什么这不起作用或帮助我使其工作.
JS:
var savePizza = function (orderId, pizza) {
var dataCall = $.ajax(config.savePizzaUrl, {
data: ko.toJSON({ orderId: orderId, pizza: pizza }),
type: "post",
contentType: "application/json"
});
return Q.when(dataCall);
};
Run Code Online (Sandbox Code Playgroud)
Web Api:
[HttpPost]
public RequestReturn<Guid> SavePizza(Guid orderId, Pizza pizza)
{
return PizzaRequests.SavePizza(orderId, pizza);
}
Run Code Online (Sandbox Code Playgroud)
JS对象:
var pizza = function (data) {
this.Id = data.Id;
this.Size = new size(data.Size);
this.SizeId = data.SizeId;
this.Toppings = $.map(data.Toppings, function(item) {return new topping(item);});
};
var topping = function (data) {
this.Id = data.Id;
this.Name = …Run Code Online (Sandbox Code Playgroud) 我们目前正在使用转发器来显示每行的输入字段,下拉菜单,复选框和日历项.所需的功能是允许用户添加最多10个(这可能会通过Web配置更改)项目(每行).
在转发器中列出这些是否合适或者我是以错误的方式进行此操作?我该怎么用?有什么比较轻的吗?
我有一个像下面这样的对象.
var order = function (data) {
this.OrderId = data.Id;
this.CustomerName = ko.observable(data.CustomerName);
this.CustomerAddress = ko.observable(data.CustomerAddress);
this.CustomerPhone = ko.observable(data.CustomerPhone);
this.TotalPrice = ko.observable(data.TotalPrice);
this.Cancelled = ko.observable(data.Cancelled);
this.Pizzas = ko.observableArray();
};
Run Code Online (Sandbox Code Playgroud)
在我的VM中:
var currentOrder = new model.Order({});
Run Code Online (Sandbox Code Playgroud)
当从UI修改此对象时,一切正常.当我想将此对象传递给我的数据层以保存时,我的问题就出现了.它来自:

显然,我无法将其传递给我的数据层.有没有一种简单的方法可以在不手动编写大型映射器的情况下去除所有淘汰内容的复杂对象?
我正在尝试在我的网格上进行行选择,但我正在努力设置或获取datakey值,因为我找不到任何文档.
$("#divGrid").igGrid({
columns: [
{ headerText: "@Manage.gridColumnEmployeeNumber", key: "EmployeeNumber" },
],
dataKeyFields: "EmployeeNumber", //Is this how you set the dataKeys?
autoGenerateColumns: false,
dataSource: jsonp,
features: [
{
name: "Selection",
rowSelectionChanging: rowSelectionChanging
}
]
});
});
Run Code Online (Sandbox Code Playgroud)
这根本不起作用.如何在此部分代码中访问我的dataKey(primaryKey)?
function rowSelectionChanging(evt, ui) {
if (confirm) {
var rows = ui.getSelectedRows();
var selectedRow = rows.getItem(0);
var selectedDataKey = selectedRow.get_dataKey();
alert(selectedDataKey);
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Angular/Breeze的Kendo UI.我有一个可编辑的网格,其中一列是下拉菜单.一切正常,直到保存发生.问题是我的odata电话期待:
Id(guid),名称,描述,CategoryId(guid)
当下拉列表被更改时,它会触发一个save命令并发回如下:
Id(guid),名称,描述,类别(categoryId,Name,Desc)
在哪里以及如何使网格仅发送categoryId而不是整个类别对象?
vm.columns = [
{ field: 'name', title: 'name' },
{ field: 'desc', title: 'description' },
{
field: 'categoryId',
title: 'group',
template: getCategory,
editor: categoryDropDown
}
];
function categoryDropDown(container, options) {
$('<input data-text-field="categoryName" data-value-field="categoryId" data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "categoryName",
dataValueField: "categoryId",
dataSource: vm.categories
});
}
function getCategory(item) {
for (var i = 0, length = vm.category; i < length; i++) {
console.log(vm.categories[i].categoryId);
if (vm.categories[i].categoryId === item.categoryId) {
return vm.categories[i].categoryName;
}
} …Run Code Online (Sandbox Code Playgroud) 我有一份人员名单.对于每个人,我都有真假.我希望这个每个人都有约束力.如果您检查下面的小提琴,它正确绑定但我的单选按钮不能正常工作.我希望每一行都有自己的单选按钮(每行不同的名称).
例如.第1行单击为true,第2行单击为false.这应该是允许的,但名称与删除第一行的选择相矛盾.谢谢
<table width="300px;">
<thead>
<tr>
<th>Name</th>
<th>Status</th>
</tr>
</thead>
<tbody data-bind="foreach: people">
<tr>
<td>
<span data-bind="text: Name"></span>
</td>
<td>
<input type="radio" name="Status" value="true" data-bind="checked: Status" />
<input type="radio" name="Status" value="false" data-bind="checked: Status" />
</td>
<td><button data-bind="click: $root.changeStatus">Change Status</button></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
function People(data) {
var self = this;
self.Name= data.Name;
self.Status = ko.observable(data.Status);
}
function PeopleViewModel(userId) {
var self = this;
self.people = ko.observable([
{ Name: 'Bert', Status: true },
{ Name: 'Charles', Status: true },
{ …Run Code Online (Sandbox Code Playgroud) 我正在加载一个Infragistics网格.加载时我有一个模板列,需要在知道要加载的内容之前检查数据集中的另一个值.它看起来不像Infragistics会让我这样做所以我需要在加载后在网格上运行查询来隐藏/显示某些信息.
例如:
我的网格:
$("#divGrid").igGrid({
columns: [
{
headerText: "",
width: "70px",
key: "Division",
template: ProperRights.GetTemplate("${Division}")
}
],
primaryKey: "EmployeeNumber",
autoGenerateColumns: false,
dataSource: AccountAdministrationGrid.GetGridData()
});
Run Code Online (Sandbox Code Playgroud)
我的js模板逻辑:
var ProperRights = new function () {
this.GetTemplate = function(division) {
if (division === 'DIV1') {
return 'Special Stuff';
} else {
return "Boring Stuff";
}
};
};
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的,但ProperRights.GetTemplate只返回$ {Division}而不是网格行值.
所以我的下一个方法是在网格的末尾添加一个.ready().然后循环遍历每个td并从行中分割出值并手动更改第一列中的值,如下所示:
.ready(function () {
$("td").each(function () {
var id = $(this).text();
console.log(id);
});
});
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,它一直回来,因为网格还没有加载,发现0 td.
jquery ×4
iggrid ×2
ignite-ui ×2
infragistics ×2
knockout.js ×2
.net ×1
angularjs ×1
asp.net ×1
asp.net-mvc ×1
breeze ×1
c# ×1
css ×1
kendo-grid ×1
kendo-ui ×1
knockout-2.0 ×1
memory-leaks ×1
odata ×1
repeater ×1
stylesheet ×1