【问题标题】:Object paths in javascriptjavascript中的对象路径
【发布时间】:2018-12-19 04:38:00
【问题描述】:

我有一个 asp.net 样板项目。我正在尝试创建一个表单并将其写入数据库。我有一个 Index.cshtml 文件和 Index.js 文件。我无法在 javascript 中创建 c# 类的对象。它说“MyProject”未定义。

var requestService =  MyCompany.MyProject.Requests.RequestService;

这是有效的吗? javascript中路径的语法是什么? 是否可以在 cshtml 文件中创建一个对象并将其传递给 javascript 文件?

【问题讨论】:

  • JavaScript 没有“路径”的概念。目前还不清楚你在问什么。您发布的 sn-p 在语法上是有效的 JavaScript。
  • 您不能在 JavaScript 中创建 C# 对象。您必须在视图中渲染模型 (C#)。然后,您可以使用 HTML 属性 ID 在 JavaScript 中访问模型的值。

标签: javascript c# html asp.net aspnetboilerplate


【解决方案1】:

唉,这不是你的做法。 js只是客户端,不知道.net代码存在。

【讨论】:

    【解决方案2】:

    因此,在 ASP.NET Boilerplate 中,我们在控制器中使用了一些服务。该服务可以在 JavaScript 文件中使用,例如

    var _tenantService = abp.services.app.tenant;
    

    在视图(cshtml)中,当我们点击提交按钮时,表单正在发送到应用服务。

    _$form.find('button[type="submit"]').click(function (e) {
        e.preventDefault();
    
        if (!_$form.valid()) {
            return;
        }
    
        var tenant = _$form.serializeFormToObject();
        abp.ui.setBusy(_$modal);
        _tenantService.create(tenant).done(function () {
            _$modal.modal('hide');
            location.reload(true); //reload page to see new tenant!
        }).always(function () {
            abp.ui.clearBusy(_$modal);
        });
    });
    

    如果我们想添加新服务或向服务添加新方法,我们必须在 javascript 文件中使用骆驼符号。否则它说未定义。例如:我创建了一个名为“NewCreate”的方法。我不得不称它为“newCreate”。

    但是我还是不知道Javascript是如何访问“abp.services.app.tenant;”的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 2021-02-07
      • 2013-09-24
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多