Javascript 在razor视图@{<;text>;块中访问c#代码

Javascript 在razor视图@{<;text>;块中访问c#代码,javascript,asp.net,Javascript,Asp.net,如果我的术语不正确,我深表歉意。我刚刚参加了一个使用Javascript和asp.net的项目。我对两者都不太熟悉,正在尝试实现一些简单的功能或修复bug。目前razor视图如下所示: @{ string rootUrl = Url.Action(MVC.Files.Files(Model.Id, null)); Html.Telerik().ScriptRegistrar().Scripts(wa => wa.AddSharedGroup(@Url.AssetName(A

如果我的术语不正确,我深表歉意。我刚刚参加了一个使用Javascript和asp.net的项目。我对两者都不太熟悉,正在尝试实现一些简单的功能或修复bug。目前razor视图如下所示:

@{
    string rootUrl = Url.Action(MVC.Files.Files(Model.Id, null));
    Html.Telerik().ScriptRegistrar().Scripts(wa => wa.AddSharedGroup(@Url.AssetName(AssetGroups.FileBrowser))
                                                     .AddSharedGroup(@Url.AssetName(AssetGroups.SinglePageApps)))
    .OnDocumentReady(
    @<text>
        window.fileBrowser = fileBrowser('ls', 'file_breadcrumb', '@Model.Path', '@rootUrl');

         var runLink = "@Url.Action(MVC.Runs.Run(Model.Id, Model.ExperimentName.ToLegalUrl()))";

         // checking for the model
         if (@((Model.HasSettings.ToString().ToValue()) == true)) {
console.log("true");
         }
         else {
console.log("false");
}

         window.leftNav = new NavView({
            el: "#navview",
            collection: new NavItems(),
            items: [

在调用ToString()时,JS中布尔值的大小写与c不同(c中大写,JS中小写),例如“True”与“True”,请记住,JS中布尔值的大小写与c不同@TimMedora Ya我开始意识到这一点。这是我遇到的另一个问题,我不确定正确的方法是什么:-\。对c值调用
ToLower()
可以解决这个问题。@TimMedora如果我将其更改为If
(@Model.HasRunSettings.ToString()==true)如果(@Model.HasRunSettings.ToString().ToLower()==True)
,我仍然得到True,但没有定义。还有其他原因吗?请使用
if(@Model.HasRunSettings.ToString().ToLower()==True)
来消除该特定错误。
window.leftNav = new NavView({
  el: "#navview",
  collection: new NavItems(),
  items: [
@foreach(Setting item in Model.Settings){
    .... output items as javascript objects here
}
  ]});
window.leftNav = new NavView({
  el: "#navview",
  collection: new NavItems(),
  items: [
@foreach(Setting item in Model.Settings){
    .... output items as javascript objects here
}
  ]});