【问题标题】:How do I call a class that is inside the App_Code folder (AJAX)如何调用 App_Code 文件夹 (AJAX) 中的类
【发布时间】:2012-10-19 14:17:08
【问题描述】:

我通过 AJAX 将一些内容发布到数据库中,而我的 ASP.NET WebPages 网站的 App_Code 文件夹中的 C# 代码将执行此操作。

我的问题是,我用什么作为 ajax 部分的文件路径?

xmlhttp.open("POST", "App_Code/MyClass/MyMethod()");?

显然这不起作用,因为它是错误的,但我找不到任何来源来确认如何做到这一点。我知道可以做到,因为几个月前我在 SO 上找到了一个代码示例,但我再也找不到了。

【问题讨论】:

  • app_code文件夹中文件的命名空间是什么
  • 没有命名空间。它只是一个 .cs 类文件,它以public class JTS 开头。
  • James 如果 OP 没有显示几件事,例如进行谷歌搜索或没有显示任何个人尝试这样做,詹姆斯人们完全有权投票。我不确定但我以前看过这个..
  • 我刚刚看了你的回答,你可以通过创建一个命名空间并在你的 uses 子句中包含该 namespace.foldername.cd 文件名来访问它。仅供参考
  • 我从来没有说过他们没有权利。但这只是愚蠢的。如果他们对某人的问题有这么大的问题,他们至少可以说为什么他们有问题。当您知道自己做错了什么时,可以帮助您更好地提出问题,顺便说一句,我在发布之前尽了一切合理的尝试来解决这个问题。

标签: c# javascript asp.net webmatrix typescript


【解决方案1】:

无法直接请求App_code 中的内容,因为它是受保护的文件夹。

相反,您应该有一个使用位于App_code 中的类的 .cshtml 文件,然后从您的 Ajax 函数中调用它。传递给 Ajax 调用的 URL 就是 .cshtml 文件的 URL。您可以将参数作为表单数据、查询字符串值或作为 UrlData 传递给 .cshtml 文件。

【讨论】:

  • 公众可以访问webmethod页面吗?
  • 如果您创建服务或 API,您可以要求提供凭据。一个小问题是,如果您将凭据粘贴到 JavaScript 中,任何人都可以找到它们。
  • @JamesKent:是的,你可以在这里阅读更多内容:encosia.com/…
  • 答案不正确。您不能在 ASP.NET 网页中使用 [WebMethod] 属性。那是在 Web 表单中使用的。 .cshtml 文件可通过 http 获得,.cs 文件也是如此。但是,IIS 不提供 .cs 文件。但是,cshtml 文件是。
  • @mohsen.d 我已经让你的答案与网页框架更相关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-17
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
相关资源
最近更新 更多