2011-08-24 92 views
1

这里有一个奇怪的位: 下面的剃须刀语法使用底部的提交按钮呈现一个简单的html。 当我点击那个按钮,我会期待回执执行,但因为它dosn't ...任何想法?带简单回传的MVC问题

哦,顺便说一下,这是对整个视代码...

@model FLM.PRL.EComms.Models.ReplySMS 

@using (Html.BeginForm("Reply", "SMS", FormMethod.Post)) { 
    <h2>Follow Up</h2> 
    @Html.ValidationSummary(true) 
    @Html.HiddenFor(model => Model.From) 
    @Html.HiddenFor(model => Model.To) 
    <div class="editor-label">Reply</div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => Model.Message) 
     @Html.ValidationMessageFor(model => Model.Message) 
    </div> 
    <input type="submit" value="Reply" /> 
    <br /> 
} 

编辑:结果由这种观点产生的标记......

<form action="/SMS/Reply" method="post">  
    <h2>Follow Up</h2> 
<input data-val="true" data-val-required="The From field is required." id="From" name="From" type="hidden" value="xxxxxxxx" /><input data-val="true" data-val-required="The To field is required." id="To" name="To" type="hidden" value="xxxxxxx" /> <div class="editor-label">Reply</div> 
    <div class="editor-field"> 
     <textarea class="text-box multi-line" id="Message" name="Message"> 
</textarea> 
     <span class="field-validation-valid" data-valmsg-for="Message" data-valmsg-replace="true"></span> 

    </div> 
    <input id="submitReply" type="submit" value="Reply" /> 
    <br /> 
</form> 
+0

什么生成的HTML表单是什么样子? – Dzejms

+0

我认为在一个页面上提交输入元素的全部点是,当它被点击的形式/页面被传回服务器... – War

+0

啊,我想我找到了它......它隐藏的领域..他们是必需的,但在回发期间由服务器填充,所以自动验证可以防止回发lol – War

回答

2

该表单的唯一原因不要提交是干扰过程的脚本。也许是验证脚本。

我注意到消息字段是必需的。你提供了这个领域的价值吗?你没有任何验证错误信息吗?

在验证无误的情况下,我建议选择性地从页面中删除所有脚本,看看会发生什么。如果删除脚本会导致您的表单正常工作,那么您知道这是问题的根源。

+0

大声笑...你在那里与我同时...那变成我没有填充隐藏的字段,因为它们是隐藏的ui似乎没有渲染验证失败,它只是没有做任何事情。 – War

0

我想通了......这是隐藏的领域......他们是必需的,但在回发过程中由服务器填充,所以自动验证阻止回发客户端,然后服务器才能填充字段......

解决方案: 不要加空必填字段的MVC形式或关闭验证(不是一个好主意)