如何使用AJAX发布数据以更新我的MVC视图

大家好,我目前正在使用C#在ASP.NET MVC环境中工作,所以现在我正在使用AJAX从URL获取一个表,并使用C#将其呈现在cshtml中。

无论如何,现在我有一个问题,我找不到从按钮发布数据的方法,因为我主要是使用javascript来做到这一点,我有点迷失了。

<script>
    $(document).ready(function(){

        // code to read selected table row cell data (values).
        $("#mydataTable").on('click','.btnSelect',function(){
             // get the current row
             var currentRow=$(this).closest("tr");

             // get current row 1st table cell TD value
             var col1=currentRow.find("td:eq(9)").html(); 

             var data=col1;

             alert(data);
        });
    });
</script>

现在这是我正在用来从要从中获取数据的行中获取数据的脚本。

如何使用AJAX同时向我的控制器提交此变量

我目前正在使用其他脚本将数据发送到控制器,但是它会从<input> name=""中取出值,我需要获取的值来自我在cshtml中使用c#渲染的表中

<script>
    function load() {
        $.ajax({
            url: '@myproject.Models.Base.RootDir()Controller/View',type: 'post',dataType: 'text',contentType: 'application/x-www-form-urlencoded',data: $("#myForms").serialize(),success: function (response) {
                $('#divToDisplayData').html(response);
            },error: function (error) {
                console.log(error);
            }
        });
    }
</script>

如果有人有任何疑问,请问,我会整天待在

这是我用来提交数据的按钮

 <button class="btnSelect">Seleccionar</button>
maduso 回答:如何使用AJAX发布数据以更新我的MVC视图

您可以在表单内部传递数据,只需要在表单内部获取一个隐藏字段,因此当单击按钮时,请设置该隐藏字段的值。

<form id="myForms">

     //your controlls

     //one extra hidden field
     <input type="hidden" id="cellValue" />

</form>

现在单击按钮,设置上方隐藏字段的值。

<script>
    $(document).ready(function(){

        // code to read selected table row cell data (values).
        $("#mydataTable").on('click','.btnSelect',function(){
             // get the current row
             var currentRow=$(this).closest("tr");

             // get current row 1st table cell TD value
             var col1=currentRow.find("td:eq(9)").html(); 

             var data=col1;

             $('#cellValue').val(data);
        });
    });
</script>

最后,当您调用load()方法时,在$("#myForms").serialize()中,您将在隐藏字段控件中获得单元格值。

在这里,您需要注意,每当您将html从视图传递到控制器时,控制器都会拒绝您的请求,因为它不是安全的内容。因此您需要在执行以下操作时使用[ValidateInput(false)]


public class YourController: Controller{

        [ValidateInput(false)]
        public ActionResult View()
        {
             return View();
        }
 }
本文链接:https://www.f2er.com/3135626.html

大家都在问