1

我对 ASP 有点陌生。我想进行 ajax 调用,但我无法确定要发送到的 URL。应用程序的实际 URL 到底是什么?当然,它在浏览器中显示为 http:// localhost : someport/ (因为链接违反了 SO 问题而添加了空格)。当我尝试输入 ["index","default"].["asp","aspx","htm","html","asm","asmx"] 之后我得到一个错误。

相关的 JavaScript 部分如下所示:

$.ajax({
   "url": "Default.aspx/ProcessReq",

我控制器中的相关 C# 代码如下所示:

[WebMethod]
public object ProcessReq(string s) {

我在配置文件中添加了以下内容:

<configuration>
   <system.web>
      <webServices>
        <protocols>
           <add name="HttpGet"/>
           <add name="HttpPost"/>
         </protocols>
      </webServices>
   </system.web>
</configuration>

我确定我做错了什么,我再次强调 ASP 对我来说相当新。有任何想法吗?

4

1 回答 1

1

似乎您来到 MVC 时仍然对 Web 表单记忆犹新。这很常见。

不幸的是,MVC 与 WebForms 非常不同。您不会直接调用视图(aspx 或 razor)。你称你为 Action Method: /home/index ... 并且 default.aspx 可以省略。尝试一下。

ActionResult 是控制器动作返回的响应类型的基类

public ActionResult ProcessReq()
{
    return View(model)
}

或者您的 ProcessReq 可以是 Json 类型

public ActionResult ProcessReq()
{
    Json(new { page= "<HTML></HTML>", control= "<input type='text' id='control'>" });
}

Action Results 可以返回 Views'、PartialView's 和 JSON(以及许多其他可能性)。在这种情况下,您必须根据设计的实现要求来决定您想要哪种响应类型。

于 2013-03-18T01:22:37.780 回答