Jquery MVC 3在数据库中保存复选框状态
我有一个问题,我希望有人有时间来看看。在我的MVC3测试项目中,我有视图as表。桌子里面有一个复选框。我试图在每次单击复选框时保存它们。我尝试了java脚本,尝试了很多来自互联网的例子,但仍然没有给我带来好运。有人能帮忙吗?:) 我的看法是:Jquery MVC 3在数据库中保存复选框状态,jquery,asp.net-mvc-3,checkbox,Jquery,Asp.net Mvc 3,Checkbox,我有一个问题,我希望有人有时间来看看。在我的MVC3测试项目中,我有视图as表。桌子里面有一个复选框。我试图在每次单击复选框时保存它们。我尝试了java脚本,尝试了很多来自互联网的例子,但仍然没有给我带来好运。有人能帮忙吗?:) 我的看法是: @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.date)
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.date)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.section)
</td>
<td>
@Html.CheckBoxFor(modelItem => item.check, new { onclick = "SomeMethod(this)" });
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.idImovine })
</td>
</tr>
}
</table>
<script type="text/javascript">
function SomeMethod(checkboxInput) {
$.ajax({
type: 'POST',
url: 'Home/Action',
data: { newValue: checkboxInput.checked },
success: success,
dataType: 'json'
});
}
</script>
我正在使用LINQtoSQL访问数据库。有人能告诉我我做错了什么吗?我的目的是在每次单击复选框时都将其保存在dv中,但该复选框在来自视图的表中被单击,需要保存到另一个选项卡中,因此我猜我也需要传递视图中的id以及复选框值。如果使用POST,那么您的操作应该相应地进行标记
[HttpPost]
public JsonResult Action(bool newValue)
如果您使用的是POST,那么应该相应地标记您的操作
[HttpPost]
public JsonResult Action(bool newValue)
您可能需要传递由复选框表示的记录的ID。让我们像这样更新你的razor代码
@foreach (var item in Model)
{
<tr>
<td>
@Html.CheckBoxFor(modelItem => item.check,
new { @id=item.ID, @class="chks"});
</td>
</tr>
}
您可能需要传递由复选框表示的记录的ID。让我们像这样更新你的razor代码
@foreach (var item in Model)
{
<tr>
<td>
@Html.CheckBoxFor(modelItem => item.check,
new { @id=item.ID, @class="chks"});
</td>
</tr>
}
您需要在模型中有一个
Id
,然后在视图中执行此操作:
@Html.CheckBoxFor(modelItem => item.check,
new { @dataid = item.Id, onclick = "SomeMethod(this)" });
然后像这样发布ajax帖子:
function SomeMethod(checkboxInput) {
$.ajax({
type: 'POST',
url: 'Home/Action',
data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
success: success,
dataType: 'json'
});
}
public JsonResult Action(bool newValue, int id)
{
// do your saving here
}
并在控制器中接受它,如下所示:
function SomeMethod(checkboxInput) {
$.ajax({
type: 'POST',
url: 'Home/Action',
data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
success: success,
dataType: 'json'
});
}
public JsonResult Action(bool newValue, int id)
{
// do your saving here
}
您需要在模型中有一个
Id
,然后在视图中执行此操作:
@Html.CheckBoxFor(modelItem => item.check,
new { @dataid = item.Id, onclick = "SomeMethod(this)" });
然后像这样发布ajax帖子:
function SomeMethod(checkboxInput) {
$.ajax({
type: 'POST',
url: 'Home/Action',
data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
success: success,
dataType: 'json'
});
}
public JsonResult Action(bool newValue, int id)
{
// do your saving here
}
并在控制器中接受它,如下所示:
function SomeMethod(checkboxInput) {
$.ajax({
type: 'POST',
url: 'Home/Action',
data: { newValue: $(checkboxInput).is(':checked'), id: $(checkboxInput).attr('dataid') },
success: success,
dataType: 'json'
});
}
public JsonResult Action(bool newValue, int id)
{
// do your saving here
}
当你点击表单中的“提交”按钮或者选中某个复选框时,你能保存数据吗?Shyju的回答成功了,现在一切都按预期进行了。所有的回答,这里有很多不错的ppl:D。当我学习mvc 3更好的时候,我会尝试像这样帮助其他pll:)你能在你点击表单中的提交按钮时保存数据吗,或者只是在你选中一些复选框时保存数据吗?Shyju的回答做到了,现在一切都按预期进行了。所有的回答,这里有很多不错的ppl:D。当我学习mvc 3 better时,我会尝试像这样帮助其他pll:)谢谢你,先生,这正是我需要的。现在一切正常,复选框按需要保存:)谢谢,先生,这正是我需要的。现在一切正常,复选框按需要保存:)我现在找到了,Shyju先生,答案是我需要的。我很接近我的解决方案,但我不知道出了什么问题:现在我知道了。谢谢冯先生:)我现在知道了,Shyju先生,我需要的是答案。我很接近我的解决方案,但我不知道出了什么问题:现在我知道了。谢谢冯先生:)