使用Razor和AJAX从表单POST返回一个值

时间:2014-08-06 20:31:17

标签: c# jquery .net ajax razor

我有一个简单的单字段html表单,我使用AJAX将值发布到服务器端脚本(用Razor编写)。表单用户必须猜测某个特定值,并根据其是否正确收到消息。

是否可以使用下述方法返回消息?理想情况下,我想返回变量" message"从我的服务器端脚本中,将值显示给前端的用户。

我的HTML:

<form>
    <input type="text" id="value" name="value" />
    <button>Send</button>
</form>

我的Ajax电话:

$(document).on("click", "button", function(e){
    e.preventDefault(); 

    var dataString = "value=" + $("#value").val();

    $.ajax({
        type: "POST",
        url: "/post",
        data: dataString,
        success: function(data) {
            alert(data.returnedValue);
        }
    });         
});

我的服务器端脚本:

if(IsPost)
{
    string value = Request.Form["value"];
    string message = "";

    if(value.ToString() == "CorrectAnswer"){
        message = "Correct!";
        return message;
    }else{
        message = "Wrong!";
        return message;
    }
}

1 个答案:

答案 0 :(得分:2)

如果您的服务器页面是Asp.net页面(.aspx),则可能需要使用Response.Write

    string value = Request.Form["value"];
    string message = "";

    if(value.ToString() == "CorrectAnswer"){
        message = "Correct!";
        return message;
    }else{
        message = "Wrong!";

    }
   Response.Write(message );

此外,这不会是一个回发事件。所以你不需要检查它。

并在您的脚本中

success: function(data) {
            alert(data);
        }