我是漂亮的ember js开发新手。
我已经完成了以下代码的视图
{{view "select" content=model prompt="Please select a name" selectionBinding="" optionValuePath="content.body" optionLabelPath="content.title"}}
使用以下Json
posts = [{
title: "Raja",
body: "There are lots of à la carte software environments in this world."
}, {
title: "Broken Promises",
body: "James Coglan wrote a lengthy article about Promises in node.js."
}];
和路由器
App.InRoute = Ember.Route.extend({
model: function () {
return posts;
}
});
我的要求是将该组合框选定值传递给控制器
App.InController = Ember.Controller.extend({
alert("combobox selected item")
});
以及我如何在.net mvc 4中访问该值apicontoller
public class ValuesController : ApiController
{
string value= combo box selected value
}
答案 0 :(得分:0)
您只需要设置selectionBinding="someModelAttribute"
,双向数据绑定将负责在模型上设置所选值。
答案 1 :(得分:0)
您的“选择”视图的值属性需要绑定到控制器上的属性:
将以下内容添加到视图的属性中: value = selectedItem
在您的控制器中:
添加“ selectedItem ”
App.InRoute = Ember.Route.extend({
selectedItem: null,
model: function () {
return posts;
}
});
现在你的所有设置都将它发送到你的Api终点。您可以创建一个动作处理程序并使其在那里发生。这是一个简单的例子:
App.InRoute = Ember.Route.extend({
selectedItem: null,
model: function () {
return posts;
},
actions: {
submit: function(){
$.ajax('/api/yourEndPoint', {type: 'POST', data: {body: this.get('selectedItem')} })
}
}
});
在您的Handlebars模板中
<button {[action 'submit'}}>Submit</button>
在.NET API控制器中
public IHTTPActionResult Post(string body){
//.NET's Model Binder will correctly pull out the value of the body keyvalue pair.
//Now do with "body" as you will.
}
你应该真正研究使用Ember-Data,这真是太棒了。