Tru*_*an1 1 javascript c# asp.net asp.net-mvc client-side
我有一个C#模型,通过它的构造函数填充.我想将此对象放在我的_Layout.cshtml中,以便我的Javascript可以将其用作设置.
这是我的模型的样子:
public class SomeConfig
{
public string PropertyA { get; set; }
public string PropertyB { get; set; }
public string PropertyC { get; set; }
public SomeConfig()
{
PropertyA = SystemSettings.getSetting(KEYA);
PropertyB = SystemSettings.getSetting(KEYB);
PropertyC = SystemSettings.getSetting(KEYC);
}
}
Run Code Online (Sandbox Code Playgroud)
我想在_Layout.cshtml中初始化并输出它,以便我所有其他视图都可以使用它.到目前为止,我只能弄清楚如何在_Layout.cshtml中手动执行此操作,如下所示:
<script type="text/javascript">
MyNamespace.someConfig = {
PropertyA: @SystemSettings.getSetting(KEYA),
PropertyB: @SystemSettings.getSetting(KEYB),
PropertyC: @SystemSettings.getSetting(KEYC)
}
</script>
Run Code Online (Sandbox Code Playgroud)
这很糟糕,因为每次SomeConfig.cs模型扩展时,我都要记得在客户端手动扩展它.有没有办法在_Layout.cshtml中初始化它,以便动态创建一个Javascript对象?
尝试改为做
<script type="text/javascript">
MyNamespace.someConfig = @Json.Encode(SystemSettings);
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |