在我的模型中,有一个名为Feeds的字典。我需要从javascript代码中访问Feeds中的特定项目:
var feedID = $sourceRow.attr('id');
var jobDescriptionMaximumLength = @Model.Feeds[Convert.ToInt32(<text>feedID</text>)];
这不起作用。你能取悦我做错了什么以及什么是正确的做法?
答案 0 :(得分:0)
您可以做的一件事是将字典(您的Feeds
属性值)分配给javascript变量,然后您可以在客户端脚本中访问它。
如果您的Feeds
媒体资源属于Dictionary<int,string>
,则您的投放资产属性中会出现类似内容。
{1: "StringVal1", 2: "StringVal2"}
从这个javascript对象中,您可以使用密钥访问您的字典项值。
剃刀视图的代码将是
@using Newtonsoft.Json
@model YourNameSpaceHere.YourViewModelTypeHere
<script type="text/javascript">
$(function() {
var feeds = @Html.Raw(JsonConvert.SerializeObject(Model.Feeds));
console.log(feeds);
var feedId = 2; // replace with real value to check
alert(feeds[feedId]);
});
</script>
或者,您可以考虑使用feed id进行Ajax调用,以获得返回所需复杂对象的端点。