質問

私はビューにViewUserControl(た.ascxファイル)をうちレンダリングしています:

<% Html.RenderPartial("Comments", Model.Comments); %>

このViewUserControlは、エントリに関連するコメントが表示されます。私は自分のアプリケーションのユーザーが貢献できるので、同様のフォームをレンダリングするために、このコントロールをしたいと思います。

あなたはViewUserControlにフォームを追加し、それがポストバックですか?取り扱うだろうか。

役に立ちましたか?

解決

あなたはどのページにも同じように

ただ、そこに同じでフォームを追加します。 MVCでは、フォームのようなポストバックない - それは単にURLにHTTPポストを介して自体とそのコンテンツ(入力コントロール)を送信

単にフォームが投稿されます、あなたのコントローラ内のアクション(ひいてはURL)を作成し、そこに必要とされるものは何でも活動を行う...

他のヒント

何postabackは、標準的なasp.netのように、いくつかのURL(コントローラ/アクション)にタグをそのポストデータのみのフォームがあることができ、ありません。
あなたの部分的なユーザーコントロールの内部では、書き込みます:

<form action="controller/actionname" method="post">
<input type="text" name="inputText" />
<input type="submit" value="Post data to server" />
</form>

MVCでは、唯一の入力タイプ=「送信」フォーム送信トリガー。標準のASP.NET Webフォームでは、あなたは多くのLinkbuttons、ボタンを、...持つことができますが、カバーの下に、彼らはすべての入力タイプ= javascriptのイベントを通じて「提出」に、この単純なクリックをトリガします。 (私たちは「古い」のasp.net WebフォームのHTMLソースに見ることができるように)一の形態は、1つのURLのみ(コントローラ/アクション)にデータを投稿することができますが、それはJavaScriptで変更することができます。

そして、コントローラにあなたはポストのデータを扱うことができます:

[AcceptVerb(HttpVerb.Post)] // optionally 
public ActionResult ActionName(string inputText) ...

他の人と同じようにあなたは、単にフォームをレンダリングし、それがのActionResultに提出のハンドル、すでに答えています。

たとえば、(サイト内のどこにレンダリングすることができる)フォームが HTTPに提出された場合: //www.yoururl.com/home/save に、あなたは(おそらくポスト/ getメソッド)提出を処理するために、ホームコントローラに保存という名前のActionResultメソッドを作成することになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top