我手动使用内置剃须刀GETHtml函数创建表。
@table.GetHtml(
columns: table.Columns(
table.Column("Account"),
table.Column("Due"),
table.Column("Topic"),
table.Column("Type"),
table.Column("Completed?", format: @<input id="Complete" name="Complete" type="checkbox" onclick="/Tasks/Complete?ID=700" />)
)
)
我想要的是一种单击复选框或按钮来激活控制器的方法。它不接受动态复选框。 html复选框也没有做任何事情。
答案 0 :(得分:1)
我有一个不使用表单的工作解决方案,该列将使用以下代码设置:
table.Column("Completed?", format: @<input type="checkbox" onclick="location.href='@Url.Action("Complete", "Tasks", new { TaskID = item.TaskID })'" />
我认为拥有name属性可能导致它将其作为参数发布,而不是将其视为提交。 否则它一定是onclick事件。我使用了location.href,然后使用razor语法设置它,并将id作为属性包含在内。
答案 1 :(得分:0)
有关向所需控制器执行帖子的几种方法。使用您要提交的表单包裹您的表格,或添加一些AJAX处理程序以发布您想要的数据。一个简单的形式可以完成如下:
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction())
{
@table.GetHtml(
columns: table.Columns(
table.Column("Account"),
table.Column("Due"),
table.Column("Topic"),
table.Column("Type"),
table.Column("Completed?", format: @<input id="Complete" name="Complete" type="submit" " />)
)
)
}