Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 mvc 3使用jquery调用服务器端函数_Asp.net Mvc 3_Jquery_Razor - Fatal编程技术网

Asp.net mvc 3 mvc 3使用jquery调用服务器端函数

Asp.net mvc 3 mvc 3使用jquery调用服务器端函数,asp.net-mvc-3,jquery,razor,Asp.net Mvc 3,Jquery,Razor,我使用这段代码从服务器获取部分视图,并将其放入div中 $.ajax( { type: "POST", url: "MyControler/MyAction", success: function (result) { $('#partialView').html(result); }, error: function (req, status, error) {

我使用这段代码从服务器获取部分视图,并将其放入div中

    $.ajax(
    {
        type: "POST",
        url: "MyControler/MyAction",
        success: function (result) {
            $('#partialView').html(result);      
        },
        error: function (req, status, error) {
            alert("Coudn't load partial view");
        }
    });
现在我想做同样的事情,但我会调用一个简单的方法返回一个字符串,并将结果放入文本框中

    $.ajax(
    {
        type: "POST",
        url: "MyControler/MyMethod",
        success: function (result) {
            $('#myTextBox').html(result);      
        },
        error: function (req, status, error) {
            alert("Coudn't load partial view");
        }
    });
方法是这样的

    public string MyMethod()
    {
        returning "hello";
    }
显然它不起作用,但有没有办法让它起作用??有一个属性我应该用于methode吗

提前谢谢

附言:

根据我在第一个答案中的回答,我尝试了这个方法,但不起作用

    public ActionResult Hello()
    {
        return Content("Hi there!");
    }
ajax调用有什么问题吗

$.ajax(
    {
        type: "POST",
         url: "MyControler/Hello",
        success: function (result) {
            $('#myTextBox').html(result);      
     },
    error: function (req, status, error) {
        alert("Coudn't load partial view");
    }
});
ps

我想尝试一个干净的项目,它使用一个返回字符串的简单方法工作得很好


因为它起作用了,我试着在我的项目中实现它,但它似乎只在global.asax文件中设置的起始页面起作用。你知道我应该做什么才能使它在每个页面上都起作用吗

您希望从该方法返回字符串,是的,但您需要的是返回字符串的ActionResult 检查以下有关StackOverflow的问答


在虚拟目录或子域下运行时,最好使用
Url.Action
方法。操作方法将创建正确的Url


除此之外,您似乎正在向站点发布,因此您是否已将
HttpPost
属性添加到您的操作中?

您正在进行HttpPost呼叫。因此,请确保您的操作方法使用
HttpPost
属性修饰。另外,请始终尝试使用
Url.Action
HTML助手方法作为操作方法的路径

假设
mmycontrollercontroller
中存在
Hello
操作方法,下面的代码应该可以工作

$.ajax(
        {
         type: "POST",
         url: "@Url.Action("Hello","MyControler")",
         success: function (result) {
             alert("result from server "+result);
             $('#myTextBox').html(result);      
         },
        error: function (req, status, error) {
            alert("Coudn't load partial view");
        }
});
你的行动方法

[HttpPost]
public ActionResult Hello()
{
  return Content("This is String Content");
}

我想你应该用下面的方法

$('#myTextBox').attr('value',result); 
而不是

$('#myTextBox').html(result); 

据我所知,我尝试了这个方法,但它不起作用public ActionResult Hello(){return Content(“Hi there!”);}请将您的问题编辑到您需要粘贴代码或进行重大更改的时候。这对我没有帮助,因为我做了与他们说的相同的事情,我认为ajax调用存在问题。请检查一下好吗?请解释一下我不确定您的意思
url:“MyController/MyAction”
行,可以使用Url.Action方法,如so
Url:@Url.Action(“MyAction”、“MyController”)”
。如果您使用的是扩展Javascript文件,那么简单地在主页上嵌入/生成Url作为变量,并通过外部文件引用它。