JSON调用C#类方法

JSON调用C#类方法,c#,javascript,asp.net-mvc,json,razor,C#,Javascript,Asp.net Mvc,Json,Razor,试图从JSON调用C#类 JSON代码位于my master.cshtml文件中,如下所示: var tips = $(".validateTips"); function updateTips(t) { tips .text(t) setTimeout(function () { tips.removeClass("ui-state-highlight", 1500); }, 500); } $.ajax({ type: "POST", ur

试图从JSON调用C#类

JSON代码位于my master.cshtml文件中,如下所示:

var tips = $(".validateTips");

function updateTips(t) {
   tips
   .text(t)
   setTimeout(function () {
      tips.removeClass("ui-state-highlight", 1500);
   }, 500);
}

$.ajax({
   type: "POST",
   url: "/App_Code/LoginClass.cs/test",
   data: {},
   contentType: "application/json; charset=utf-8",
   datatype: "JSON",
   success: function (msg) {
      updateTips(msg.d);
   }
});
public class LoginClass
{
    public static string test()
    {
         return "hello";
    }
}

my solution folders looks like this:
+----App_Code
|    |
|    +---LoginClass.cs
|
+----Views
|    |
|    +---Shared
|        |
|        +---Master.cshtml
|
+----default.cshtml (Where the master layout page is connected to)
C代码位于LoginClass.cs文件中,如下所示:

var tips = $(".validateTips");

function updateTips(t) {
   tips
   .text(t)
   setTimeout(function () {
      tips.removeClass("ui-state-highlight", 1500);
   }, 500);
}

$.ajax({
   type: "POST",
   url: "/App_Code/LoginClass.cs/test",
   data: {},
   contentType: "application/json; charset=utf-8",
   datatype: "JSON",
   success: function (msg) {
      updateTips(msg.d);
   }
});
public class LoginClass
{
    public static string test()
    {
         return "hello";
    }
}

my solution folders looks like this:
+----App_Code
|    |
|    +---LoginClass.cs
|
+----Views
|    |
|    +---Shared
|        |
|        +---Master.cshtml
|
+----default.cshtml (Where the master layout page is connected to)

updateTips不会

当您对MVC应用程序进行AJAX调用时,仍然需要通过控制器

控制器文件夹中创建名为AccountController的控制器类(Ctrl+M,Ctrl+C),并添加以下方法:

public class AccountController : Controller
{
  [HttpPost]
  public ActionResult Test()
  {
    return Json("hello");
  }
}
Javascript调用:

$.ajax({
   type: "POST",
   url: "/Login/test",
   data: {},
   contentType: "application/json; charset=utf-8",
   datatype: "JSON",
   success: function (msg) {
      updateTips(msg.d);
   }
});

恐怕您不能在ASP.NET MVC中调用这样的代码。您需要先通过
控制器

首先创建一个控制器,通常在项目根目录的Controllers文件夹中:

public class LoginController : Controller // Inherit from Controller base class.
{
    // An action on the controller that you can call.
    [HttpPost] // Use HttpPost to limit only to POST requests.
    public ActionResult Test()
    {
        // Use your class here to get values.
        string value = LoginClass.test();

        // Return a JSON result that converts your object to JSON for you.
        return Json(value);
    }
}
然后像这样调用操作(根据global.asax中默认路由模式
{Controller}/{action}
的一部分):

如果要使用JSON而不使用POST:

public ActionResult Test()
{
    string value = LoginClass.test();
    return Json(value, JsonRequestBehavior.AllowGet);
}