[英]Inserting into a JavaScript object inside razor foreach?
While I loop through a C# list in a partial view, I need to add to JavaScript object, I tried <text></text>
and @:
but they just render the plain JavaScript text, here's the full partial-view: 当我在局部视图中循环浏览C#列表时,我需要添加到JavaScript对象,尝试了
<text></text>
和@:
但是它们只是呈现纯JavaScript文本,这是完整的局部视图:
@using Resources;
<script>
var resources = {};
@{
Dictionary<string, string> resx = new Dictionary<string, string>();
foreach (var item in typeof(AppResources).GetProperties().Where(p=>p.PropertyType==typeof(string)))
{
resx.Add(item.Name, item.GetValue(item).ToString());
var key = item.Name;
var value = item.GetValue(item).ToString();
@:resources[@key] = @value;
}
}
console.log("resources_BEGIN");
console.log(resources);
console.log("resources_END");
</script>
this is being rendered in the HTML source: 这是在HTML源代码中呈现的:
<script>
var resources = {};
resources[lbAccountSettings] = Account settings;
resources[lbActivate] = Activate;
resources[lbArabicName] = Arabic Name;
resources[lbAreas] = Areas;
console.log("resources_BEGIN");
console.log(resources);
console.log("resources_END");
</script>
Try this: var jsvariable=@Html.Raw(Json.Encode(<your_charp_variable>))
试试这个:
var jsvariable=@Html.Raw(Json.Encode(<your_charp_variable>))
Edited : 编辑 :
<script>
var resources = {}
@{
Dictionary<string, string> resx = new Dictionary<string, string>();
foreach (var item in typeof(AppResource).GetProperties().Where(p=>p.PropertyType==typeof(string)))
{
resx.Add(item.Key, item.Value);
}
}
resources=@Html.Raw(Json.Encode(resx));
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.