別のコントローラーの部分的なhtml.beginform
-
30-09-2019 - |
質問
次のコードがあります。
<% using (Html.BeginForm("AddComment", "Comments", FormMethod.Post)) { %>
<div id="New_Comment">
<textarea name="newComment" id="newComment">Add comments</textarea>
<input type="submit" value="Add" />
<div><span class="text_grey">Attach:</span><a href="#" class="link_text_grey">File</a> <a href="#" class="link_text_grey">Link</a></div>
</div>
<%} %>
これは、MyPageコントローラーによってレンダリングされた部分的なものです。何らかの理由で、フォーム上のアクションが空白になります。MyPageコントローラーのメソッドを参照すると、私がやりたいことは、私のフォームを使用して別のコントローラーを指すことです。
解決
この問題を解決するために、私はそのようなエリアルート値に簡単に追加されました:
new { area = "" }
空の文字列がルートをデフォルトエリアに向けています。
他のヒント
1)あなたの「コメント」アクションは、ポストアクションであるとマークされていますか?
2)また
やってみてください:
<% Html.BeginForm("AddComment", "Comments"); %>
// Html and script
<% Html.EndForm(); %>
私はあなたが持っているものと私が提案するものの間に違いはないべきではないことを知っていますが、それは試してみる価値があります。
所属していません StackOverflow