我需要在控制器中创建一个json字符串,如下所示,并将其发送到查看它绑定到我的js代码的位置..
{
id: 'state',
label: 'State',
options: [
{ id: "AL", name: "Alabama" },
{ id: "AK", name: "Alaska" },
{ id: "AZ", name: "Arizona"}
],
valueSetter: function(rule, value) {
rule.$el.find('.rule-value-container select')[0].setValue(value);
}
}
ID,标签和选项是动态生成的,我已经使用JObject和JArray完成了 如下......
JObject parameter1 = new JObject();
parameter1["id"] ="state";
//And so on...
valueSetter中的部分不是动态的,但我如何生成这样的内容。
真心感谢任何帮助。
由于
答案 0 :(得分:1)
您可以返回一个变量,该变量本身将一个函数作为字符串返回。复制自here
的第二个答案public class JSObj
{
public string Title { get; set; }
public int UpperVal { get; set; }
public int LowerVal { get; set; }
public object MouseOver
{
get
{
// use JRaw to set the value of the anonymous function
return new JRaw(string.Format(@"function(){{ return {0}; }}", UpperVal - LowerVal));
}
}
}
// and then serialize using the JsonConvert class
var obj = new JSObj { Title = "Test", LowerVal = 4, UpperVal = 10 };
var jsonObj = JsonConvert.SerializeObject(obj);