是否可以使用变量代替ViewData的字符串文字?我拥有的是......
var listsource = <% = ViewData["dtYears"] %>;
我想做的就是这样......
var datasource = "dtYears";
var listsource = <% = ViewData[datasource] %>;
我之所以喜欢这样做是因为我可以在我的javascript中使用泛型函数来加载我使用我指定的数据源指定的列表(两者都通过参数)。然后我可以有一个像这样的通用LoadList函数......
function LoadList(datasource, target) {
// generic list population code goes here
}
答案 0 :(得分:0)
是的,据我所知,应该有效。你有没有试过它而没有得到你想要的结果?
答案 1 :(得分:0)
您可以尝试这种方法:
//On your server code(controller) where you set the ViewData
// Convert the datasource List/object to a json string and add the string to ViewData
ViewData["dtYears"] = JsonConvert.SerializeObject(lstYears);
//On your Client html code (view)
//convert it to equavalent json object/objects, using one of the following two methods
var datasource = eval("(" + '<%=ViewData["dtYears"].ToString() %>' + ")");
//OR use jquery method
var datasource =jQuery.parseJSON('<%=ViewData["dtYears"].ToString() %>');
//you should be good to go
alert(datasource.length+ " objects in "+ datasource );