0

我在 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 ...

有谁知道为什么会这样?

谢谢,阿维。

4

1 回答 1

0

Html.BeginForm 不返回字符串,它直接写入页面。这就是为什么您没有在列内容中获得表单标签的原因。

解决方案是手动编写标签。

编辑:

<form action="/Messages/Resend" method="post">
    <input type="hidden" name="outgoingMsgId" value="@entity.MsgID" />
    <input type="submit" value="@entity.PersonName" />
</form>
于 2013-02-14T09:51:48.617 回答