【问题标题】:Use of C# static string in a typescript class在 typescript 类中使用 C# 静态字符串
【发布时间】:2017-01-03 17:41:54
【问题描述】:

我有一个混合了 TypeScript 的 MVC 项目。我需要我的 TypeScript 对象从我的 C# 类中获取一个字符串。

我有一个从StringBuilder 生成字符串的 c# 静态类。 我有一个打字稿类,我需要能够访问这个字符串。 因此,在我的 TypeScript 类的构造函数中,我希望能够:

this.element.append(MyCSharpStaticString);

有什么办法可以做到吗?

相关代码

cshtml

<div id="GridDiv"></div>

<script type="text/javascript">
    jQuery(function () {        
         new Jobber.OrdersGrid($('#GridDiv'), {}).init();

         Q.initFullHeightGridPage($('#GridDiv'));

    });
</script>

打字稿:

export class OrdersGrid extends Serenity.EntityGrid<OrdersRow, any> {

protected getHeaderHtml(reportName) { return OrderHeaderHtml.HtmlHeader(reportName); }

       constructor(container: JQuery) {
            super(container);

          // Finds this element in the code and adds our HTML
          this.element.find('.grid-container').prepend(this.getHeaderHtml(""));

        }
}

【问题讨论】:

  • 你在使用Razor吗?
  • 我没有看到任何表明您正在使用的 UI 技术,这会影响您获得的答案。有人添加了asp.net-mvc 标签,但不是你,所以你应该澄清一下。
  • @MikeMcCaughan razor 是不同的标签(未添加)... asp.net-mvc 是服务器端,与 UI 无关...顺便说一句,您可以使用 asp.net-mvc没有剃须刀
  • @SantiagoHernández 我很清楚这一点,这就是为什么我要求 OP 使用适当的视图引擎更新他们的问题...

标签: c# typescript


【解决方案1】:

如果它确实返回一个字符串,您可以将其绑定到您的 JavaScript 方法,例如:

<script>
this.element.append('@MyCsharpStaticString()');
</script>

确保您已将模型包含在您的剃刀视图中。

【讨论】:

  • 我认为您的答案缺少引号:this.element.append('@MyCsharpStaticString');
  • 问题中没有任何内容表明正在使用 Razor。您是否有理由假设然后根据您的假设编辑问题?
  • @MikeMcCaughan 嘿,他说他一直在使用带有 C# 标签的 MVC,我假设涉及剃须刀。可能是在黑暗中开枪:)
  • @Valkyriee - 虽然我有一个剃须刀文件 - 客户端可以更新,所以我需要将代码放在客户端 ts 中。如果它会使用剃须刀,我愿意尝试。顺便说一句:很酷的绰号..
  • @Ken 恐怕没有剃须刀是不可能的,谢谢 =)
猜你喜欢
  • 2013-07-24
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 2012-10-24
相关资源
最近更新 更多