从javascript发送数据到mvc中的函数

时间:2013-08-02 07:25:53

标签: javascript asp.net asp.net-mvc asp.net-mvc-3

我有一个包含1个函数的类。 如何从myview中的javascript向此函数发送参数? 我怎样才能获得回报价值。 我的班级:

public class CityClass { 
    public static long GetIdCountryWithCountryText(string countryy) 
    { 
        using (SportContext db = new SportContext())
        {
            return db.tbl_contry.FirstOrDefault(p => p.country== countryy).id;
        }
    }
}

1 个答案:

答案 0 :(得分:3)

  

如何从myview中的javascript向此函数发送参数?

你根本做不到。 javascript对功能一无所知。它不知道C#或静态函数是什么。它不知道ASP.NET MVC是什么。

您可以使用javascript将AJAX请求发送到服务器端点,在ASP.NET MVC应用程序中,该端点称为控制器操作。此控制器操作可以依次调用您的静态函数或其他任何内容。

因此您可以执行以下控制器操作:

public ActionResult SomeAction(string country)
{
    // here you could call your static function and pass the country to it
    // and possibly return some results to the client.

    // For example:
    var result = CityClass.GetIdCountryWithCountryText(country);
    return Json(result, JsonRequestBehavior.AllowGet);
}

现在你可以使用jQuery向这个控制器动作发送一个AJAX请求,将乡村javascript变量传递给它:

var country = 'France';
$.ajax({
    url: '/somecontroller/someaction',
    data: { country: country },
    cache: false,
    type: 'GET',
    success: function(result) {
        // here you could handle the results returned from your controller action    
    }
});