2011-08-24 58 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形式或關閉驗證(不是一個好主意)