C# 如何在页面上运行GET/POST和JSON结果?

C# 如何在页面上运行GET/POST和JSON结果?,c#,javascript,jquery,html,asp.net-mvc,C#,Javascript,Jquery,Html,Asp.net Mvc,我有一个页面,在控制器中使用两个提交按钮执行JSON结果、get和post方法。一个按钮转到Post方法仅用于重定向,另一个按钮转到JsonResult方法(名为AddTableData)。如何在JQuery代码中设置它 $('#firstSubmit').click(function() { $(document).submit(function() { }); }); $('#secondSubmit').click(function() { $('#addTabl

我有一个页面,在控制器中使用两个提交按钮执行JSON结果、get和post方法。一个按钮转到Post方法仅用于重定向,另一个按钮转到JsonResult方法(名为AddTableData)。如何在JQuery代码中设置它

$('#firstSubmit').click(function() {
    $(document).submit(function() {
    });
});

$('#secondSubmit').click(function() {
    $('#addTable').submit(function() {
        $.post($(this).attr("action"), $(this).serialize(), function(response) {
            ...load Table
        });
        return false;
    });
});

<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %>
    <td><input id="Submit1" type="submit" name="firstSearch" value="Search" /></td>
    <td><input id="Submit2" type="submit" name="secondSearch" value="Search" /></td>

通常在get/post函数中获取的变量已经不存在了。如何将它们发布到我的JSon函数中?

假设我正确地理解了您,我有两个答案供您参考

  • 为什么只使用JavaScript发布没有Ajax的表单

  • 如果必须使用JavaScript发布表单,请提交表单,而不是文档,例如:

    $('form').submit()

  • $('#firstSubmit')。单击(函数(){
    $('#addTable')。提交();
    });
    $(“#第二次提交”)。单击(函数(){
    $.getJSON(“Home/AddTableData”,$(“#addTable”).serialize(),函数(json){
    警惕(“良好”);
    });
    });
    
    我还没有测试过:

    $('#secondSubmit').click(function() {
        $url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize()
        $.getJSON($url, {Name:"Name on Document"}, function(json) {
            alert("good");
        });
    });    
    

    @treeface-请参见编辑。这就是我的submit按钮和表单的用法,但是get/post在Index.aspx上。表单正在发布到JSonResult。“addTable。帖子在Index method controller上。你是对的。我做了更正,现在使用一个作为提交类型,另一个作为按钮。这解决了问题。谢谢!!我从来没有想过。但是我不会使用我的JsonResult方法(AddTableData)。有没有其他方法可以重定向到那里?很抱歉没有让你明白,你能进一步解释一下吗,我想我正在接近。我正在接近JsonResult方法,但是我通常从表单传递的变量现在为空。你知道怎么做吗?请参阅我的新编辑
    $('#firstSubmit').click(function() {
      $('#addTable').submit();
    });
    
    $('#secondSubmit').click(function() {
      $.getJSON("Home/AddTableData", $('#addTable').serialize(), function(json) {
        alert("good");
      });
    });
    
    
    <%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %>
    <td><input id="Submit1" type="button" name="firstSearch" value="Search" /></td>
    <td><input id="Submit2" type="button" name="secondSearch" value="Search" /></td>
    
    $('#secondSubmit').click(function() {
        $url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize()
        $.getJSON($url, {Name:"Name on Document"}, function(json) {
            alert("good");
        });
    });