我已经创建了一个新的Web Api MVC4项目,并使用API控制器构建了一个RESTful API,然后我使用常规的MVC控制器来使用HMTL5/KnockoutJS/JS渲染视图.
视图通过REST Api与应用程序交互(baseUrl属性指向给定实体的正确REST端点):
this.Post = function (entity) {
return $.ajax(baseUrl, {
type: 'post',
data: ko.toJSON(entity),
contentType: 'application/json',
dataType: 'json'
});
};
Run Code Online (Sandbox Code Playgroud)
现在,我怎样才能使我的应用程序只能使用(或查看)我的RESTful API?
例如在后端我将数据绑定到转发器,在前端我正在设置我的转发器:
<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<div class="user">
Name: <%# DataBinder.Eval(Container, "DataItem.Name")%>
Email: <%# DataBinder.Eval(Container, "DataItem.Email")%>
Active: <%# DataBinder.Eval(Container, "DataItem.Active")%>
Status: <%# DataBinder.Eval(Container, "DataItem.Status")%>
</div>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
所以"名称"和"电子邮件"的输出都很好.但是,"活动"和"状态"打印出一个整数代码,我想根据我的参考表将其更改为更具描述性的字符串.
我猜我可以在转发器的"ItemDataBound"事件中执行此操作,但我仍然坚持下一步应该是什么,即检查我需要修改和更改它们的两个字段.
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//Do modifications here
}
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序只处理全天活动,所以我希望能够只显示AgendaViews的allDay部分.见下面的屏幕截图.我想隐藏以红色突出显示的区域.
日历小部件:http://arshaw.com/fullcalendar/
屏幕:


我正在设置一个业务流程类,它将多个操作作为一个大事务处理.对于每个这些事务,我给它们在业务流程开始时实例化了相同的时间戳.
我使用以下行:
var transactionTimestamp = DateTime.UtcNow.ToString("o");
Run Code Online (Sandbox Code Playgroud)
我在系统中有一个约束,规定时间戳不能有任何尾随零.
例如:
2013-06-26T19:51:38.0083980Z //bad
2013-06-26T19:51:38.008398Z //good
2013-06-26T19:51:38.0083988Z //good
Run Code Online (Sandbox Code Playgroud) 我有一个angular.forEach循环迭代图像配置对象,以便根据配置中的URL创建javascript Image()对象.
我不希望返回结果图像,直到所有图像都正确加载.如何通过使用Angular承诺实现这一目标?
请考虑以下(简化)代码段:
function getImages(imageConfigurations) {
var images = [];
angular.forEach(imageConfigurations, function (config) {
var imageObject = loadImageFromUrl(config.url);
var imageData = {
name: config.name,
order: config.order,
image: imageObject
};
images.push(imageData);
});
//Do not return this untill all of the image objects from forEach loop
//have fired their 'onload' event
return images;
}
function loadImageFromUrl(url) {
var imageObj = new Image();
imageObj.onload = function () {
//Resolve promise?
};
imageObj.src = url;
}
Run Code Online (Sandbox Code Playgroud) 我有以下查询:
SELECT A.shipment_id
,B.box_id
,A.shipment_status
FROM shipments A
join boxes B on A.shipment_id = B.shipment_id
where A.shipment_status = 2
Group by B.box_id, A.shipment_id, A.shipment_status
Run Code Online (Sandbox Code Playgroud)
返回一个如下所示的结果集:
shipment_id,box_id,shipment_status
101,boxA,2
101,boxB,2
101,boxC,2
102,box101,2
102,box102,2
103,boxA1,2
103,boxA2,2
我希望返回这样的东西(显示每次装运的总箱数):
shipment_id,盒子计数,shipment_status
101,3个,2
102,2,2
103,2,2
我怎么做到这一点?
谢谢!
我继承了一个项目,其中包含表中使用的Bootstrap"span"类.
以下标记是否有效?如果没有,为什么?
<table class="table">
<tr>
<td class="span6">Hello</td>
<td class="span3">World</td>
<td class="span3">2013</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我觉得用Bootstrap设置列宽是不对的.
我正在尝试更新红色显示的棕色,以便在重新定位一个项目时反映observableArray中每个项目的位置.您可以在此处查看我当前的代码:http://jsfiddle.net/BV87N/
它的行为并不像我期望的那样.我有一种感觉,因为数组中的项目及其属性本身是不可观察的.
但我不太清楚如何让它发挥作用.
ko.bindingHandlers.sortable.afterMove = function () {
self.adjustOrder();
};
self.adjustOrder = function () {
for (var i = 0, j = self.items().length; i < j; i++) {
self.items()[i].sortOrder = i;
};
};
Run Code Online (Sandbox Code Playgroud) c# ×3
javascript ×3
.net ×2
asp.net-mvc ×2
css ×2
html ×2
jquery ×2
angularjs ×1
asp.net ×1
data-binding ×1
datetime ×1
fullcalendar ×1
html5 ×1
image ×1
knockout.js ×1
onload ×1
repeater ×1
rest ×1
sql ×1
sql-server ×1
string ×1
t-sql ×1