[英]How can I post data using AJAX to update my MVC View
Hello everyone I'm currently working on a ASP.NET MVC environment using C#, so right now I'm getting a table from a URL using AJAX and using C# to render it inside my 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 同时将此变量提交给我的 Controller
我目前使用这个其他脚本将数据发送到我的 controller 但它从<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>
您可以在表单中传递数据,您只需在表单中获取一个隐藏字段,因此当您单击按钮时,设置该隐藏字段的值。
<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 从视图传递到 controller 时,controller 都会拒绝您的请求,因为它不是安全内容。 所以您需要在您的操作中使用[ValidateInput(false)]
,如下所示。
public class YourController: Controller{
[ValidateInput(false)]
public ActionResult View()
{
return View();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.