Asp.net mvc 3 使用jquery将模型从视图传递到控制器
我有一个观点Asp.net mvc 3 使用jquery将模型从视图传递到控制器,asp.net-mvc-3,model-view-controller,jquery,Asp.net Mvc 3,Model View Controller,Jquery,我有一个观点 @using staffInfoDetails.Models @model staffInfo <link href="../../Content/myOwn.css" rel="stylesheet" type="text/css" /> @{staffInfo stf = Model; } <div id="education1"> @using (Html.BeginForm("addNewEdu","Home",FormMethod.Pos
@using staffInfoDetails.Models
@model staffInfo
<link href="../../Content/myOwn.css" rel="stylesheet" type="text/css" />
@{staffInfo stf = Model;
}
<div id="education1">
@using (Html.BeginForm("addNewEdu","Home",FormMethod.Post))
{
@Html.HiddenFor(x=>x.StaffId)
<table>
<tr>
<th>Country</th>
<th>Board</th>
<th>Level</th>
<th>PassedYear</th>
<th>Division</th>
</tr>
<tr>
@Html.EditorFor(x => x.eduList)
</tr>
<tr>
@*<td><input type="submit" value="create Another" id="addedu"/> </td>*@
@*<td>@Html.ActionLink("Add New", "addNewEdu", new { Model })</td>*@
</tr>
</table>
}
<button id="addedu">Add Another</button>
</div>
@使用StaffInfo.Models
@staffInfo模型
@{staffInfo stf=模型;
}
@使用(Html.BeginForm(“addNewEdu”,“Home”,FormMethod.Post))
{
@Html.HiddenFor(x=>x.StaffId)
国家
董事会
水平仪
过去的一年
分部
@EditorFor(x=>x.eduList)
@* *@
@*@ActionLink(“addnew”,“addNewEdu”,New{Model})*@
}
再加一个
我想使用jquery将模型staffInfo传递给控制器,如下所示
<script type="text/javascript">
$(document).ready(function () {
$("#addedu").live('click', function (e) {
// e.preventDefault();
$.ajax({
url: "Home/addNewEdu",
type: "Post",
data: { model: stf },//pass model
success: function (fk) {
// alert("value passed");
$("#education").html(fk);
}
});
});
});
</script>
$(文档).ready(函数(){
$(“#addedu”).live('click',函数(e){
//e.预防违约();
$.ajax({
url:“主页/addNewEdu”,
类型:“Post”,
数据:{model:stf},//传递模型
成功:功能(fk){
//警报(“传递值”);
$(“#教育”).html(fk);
}
});
});
});
jquery似乎只传递元素而不是整个模型,因此我如何才能将模型从视图传递到控制器,这样我就不必在jquery中写入整个参数列表您可以使用
getElementById
获取您的值,然后发送您的操作:
$(document).ready(function () {
var select = document.getElementById('...');
$.ajax({
type: "get",
url: "get_street_name",
data: { a: select },
success: function (data) {
$('#result').html(data);
}
});
}
正如我所看到的,您试图使用AJAX提交表单?看看函数
$('#addedu').click(function(e) {
e.preventDefault();
var form = $('form');
if (form.valid()) { //if you use validation
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: form.serialize(),
success: function(r) {
}
});
}
});
您可以使用以下命令为表单提供ID
@using (Html.BeginForm("addNewEdu", "Home", FormMethod.Post, new { id = "addNewEduForm" }))
{
}
然后在脚本中
<script type="text/javascript">
$('#addedu').click(function(e) {
e.preventDefault();
if (form.valid()) { //if you use validation
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: $("#addNewEduForm").serialize(),
success: function(data) {
}
});
}
});
</script>
$('#addedu')。单击(函数(e){
e、 预防默认值();
if(form.valid()){//如果使用验证
$.ajax({
url:form.attr('action'),
类型:form.attr('method'),
数据:$(“#addNewEduForm”).serialize(),
成功:功能(数据){
}
});
}
});
此外,您还可以使用JSON,为什么必须将模型传递给控制器?只需使用ajax发送参数,就可以使用模型在控制器方法中执行任何操作