我在MVC4中有一个webgrid,我想要一个自定义列来提交按钮 - 将消息重新发送给特定的人。
列格式的代码如下所示:
format: @<text>
@foreach (DataEntity entity in item.Entities)
{
using (Html.BeginForm("Resend", "Messages", new {MsgId = entity.MsgID }, FormMethod.Post))
{
<input Type="submit" value="@entity.PersonName" />
}
}
</text>
此代码是从另一台PC手动复制的,因此请忽略任何外观语法错误。
我的问题是HTML页面没有任何表单标签,尽管你可以看到我使用的是Html.BeginForm ......
有没有人知道为什么会这样?
谢谢,Avi。
答案 0 :(得分:0)
Html.BeginForm不返回字符串,它直接写入页面。这就是您没有在列内容中获取表单标记的原因。
解决方案是手动编写标签。
编辑:
<form action="/Messages/Resend" method="post">
<input type="hidden" name="outgoingMsgId" value="@entity.MsgID" />
<input type="submit" value="@entity.PersonName" />
</form>