Smartface用代码获取数据值
Smartface get data value with code
我想用代码获取数据值。我在 RepeatBox 中添加了标签。我无法获得价值。我的代码如下。我哪里做错了?
var deger="";
var wc;
function Page2_TextButton1_OnPressed(e){
wc = new SMF.Net.WebClient({
URL:"http://192.168.42.19/TestRestApi/api/Comment/Notlar",
httpMethod:"GET",
requestHeaders: ["content-type", "application/json"],
onSyndicationSuccess: function(e) {
deger = wc.response;
Pages.Page2.RepeatBox1.dataSource = deger;
Pages.Page2.RepeatBox1.Label1.text = deger.AdiSoyadi;
}
});
wc.run(true);
}
我觉得你的header不对,应该是
requestHeaders : ["Content-Type:applictaion/json"]
但我看到的真正问题是您收到回复的方式,应该是:
deger = JSON.parse(this.responseText);
这个 link 中有关于 Smartface 中 REST 的指南:
https://www.smartface.io/developer/guides/data-network/rest-services-2/
[编辑]
哦,这很不一样:)
为此,创建其中包含 Label 的 repeatBox 并定义 repeatBox 的数据源 属性。然后,在 onRowRender 方法上,将 Label 的文本定义为 yourReponseText[e.rowIndex](如果您的响应不是数组,请对其进行转换)。
示例:
//Tranform the Object to an array
var responseArray = [];
for (var p in responseText) {
responseArray.push(responseText[p]);
}
yourRepeatBox.dataSource = responseArray;
yourRepeatBox.onRowRender = function(e) {
this.controls[0].text = responseArray[e.rowIndex];
}
我想用代码获取数据值。我在 RepeatBox 中添加了标签。我无法获得价值。我的代码如下。我哪里做错了?
var deger="";
var wc;
function Page2_TextButton1_OnPressed(e){
wc = new SMF.Net.WebClient({
URL:"http://192.168.42.19/TestRestApi/api/Comment/Notlar",
httpMethod:"GET",
requestHeaders: ["content-type", "application/json"],
onSyndicationSuccess: function(e) {
deger = wc.response;
Pages.Page2.RepeatBox1.dataSource = deger;
Pages.Page2.RepeatBox1.Label1.text = deger.AdiSoyadi;
}
});
wc.run(true);
}
我觉得你的header不对,应该是
requestHeaders : ["Content-Type:applictaion/json"]
但我看到的真正问题是您收到回复的方式,应该是:
deger = JSON.parse(this.responseText);
这个 link 中有关于 Smartface 中 REST 的指南:
https://www.smartface.io/developer/guides/data-network/rest-services-2/
[编辑]
哦,这很不一样:)
为此,创建其中包含 Label 的 repeatBox 并定义 repeatBox 的数据源 属性。然后,在 onRowRender 方法上,将 Label 的文本定义为 yourReponseText[e.rowIndex](如果您的响应不是数组,请对其进行转换)。
示例:
//Tranform the Object to an array
var responseArray = [];
for (var p in responseText) {
responseArray.push(responseText[p]);
}
yourRepeatBox.dataSource = responseArray;
yourRepeatBox.onRowRender = function(e) {
this.controls[0].text = responseArray[e.rowIndex];
}