我正在为MVC Razor3 .NET中的公司工作。 这是我第一次使用MVC,但我现在已经获得了很多知识。 只有一件事我似乎无法弄明白。
我正在为服务中心的经理制作一个评级系统,他希望对操作员的评分方式进行评分。当他对事件进行评分时,他们应该能够看到等级并修复事件中的错误。如果他们不同意收到的等级,他们必须能够反对并发送一个小评论。
因此,在操作员的评论视图中(他可以选择固定或对象),有以下代码:
<tr class="border_bottom">
@if (false == Model.Fixed)
{
using (Html.BeginForm("Objected", "IncidentCheck", FormMethod.Get))
{
<td colspan=3>
<input id="Code" name="Code" type="hidden" value="@Model.Code" />
<input class="text-box single-line" style="width:100%" id="Message" name="Message" type="text" value="" /> </td>
<td><input type="submit" value="Object" /></td>
}
}
</tr>
及时生成此Html:
<tr class="border_bottom">
<form action="/IncidentCheck/Objected" method="get"><td colspan=3>
<input id="Code" name="Code" type="hidden" value="C1308-0059" />
<input class="text-box single-line" style="width:100%" id="Message" name="Message" type="text" value="" /> </td>
<td><input type="submit" value="Object" /></td>
</form>
</tr>
现在显示效果很好,但每当我点击对象按钮时,只需刷新页面而无需采取正确的操作。动作的代码暂时没用,因为它永远不会到达,但函数看起来像这样:
[HttpGet]
[RoleFilter(Roles = "Operator")] // Custom role filter.
public ActionResult Objected (string Code, string Message)
{
return View("Test");
}
注意:HTML是部分视图中Displaytemplate的一部分,因此在部分视图中,有更多事件都具有相同的表单。 (不确定这与它有什么关系。)
我很确定我忽视了一些简单的事情。
提前致谢, 罗哈斯
答案 0 :(得分:1)
哎呀我做了嵌套表格的意外错误,这是不允许的。
感谢用户codebrain和Roel van Uden的错误。谢谢你们帮我在聊天中回答这个问题。
答案 1 :(得分:0)
如果您可以控制生成的HTML,则可以尝试使用Razor语法
@using (Html.BeginForm(Objected, IncidentCheck, FormMethod.Get,
new { code= [Pass your code value here],
message = [Pass your message value here] }))
{
// Form elements.
}
而不是
<form action="/IncidentCheck/Objected" method="get">
// Form elements.
</form>