2010-11-26 11 views
0

電子メールを送信するためにユーザーコントロールを作成したいと思います。asp mvc user controls

私は、そのコントロールの書き込み:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 
<form action="" method="post"> 
<div class="box"> 
    <div class="box-header"> 
     Rejestracja</div> 
    <div class="box-content"> 
     <div> 
      Imię 
     </div> 
     <div> 
      <input name="firstname" type="text" /> 
     </div> 
     <div> 
      Nazwisko 
     </div> 
     <div> 
      <input name="lastname" type="text" /> 
     </div> 
     <div> 
      Email 
     </div> 
     <div> 
      <input name="email" type="text" /> 
     </div> 
     <div> 
      Ulica nr domu mieszkania 
     </div> 
     <div> 
      <input name="street" type="text" /> 
     </div> 
    </div> 
    <div class="box-info"> 
     Wypełnij formularz rejestracyjny i dołącz do klubu Oriflame. 
    </div> 
</div> 
<div style="clear: both;"> 
</div> 
</form> 

を、私は、このマスターページでのコントロールに置く:名前のコントロール

<% Html.RenderPartial("Kontakt"); %> 

:kontakt.aspx」を、それが共有フォルダにある

マイ質問は電子メールを送信するコードを記述する必要があります。コントロールフォームに設定されたアクションは何ですか?

このコントロールはすべてのサイトにあります。

よろしくお願いいたします。

+0

Hehe =)Polacy =) –

答えて

0

フォームデータを受け取るコントローラを作成する必要があります。そして、あなたはそれらの電子メールをサーバーから(コントローラーまたはあなたがそれを送信するために選択したものから)送信することができます。

1

フォームは、コントローラアクションにルーティングするためにセットアップされたURLにポストする必要があります。これは、現在のページのURLまたは別のURLである可能性があります。

コントローラには、フォームフィールドを受け入れるメソッドが必要です。これは、フォームの名前にマップされたプロパティのFormCollectionオブジェクトまたは厳密に型指定されたモデルです。

[HttpPost] 
public ActionResult Foo(FormCollection form) 
{ 
    .. use the form collection to construct your email ...   
} 

あなた自身はあなたが行うことができ、むしろHTML入力を構築するよりも、強く型付けされたビューを使用している場合:

<%= Html.TextBoxFor(x => x.FirstName) %> 

そして、あなたはむしろFormCollectionよりもモデルを使用することができ、あなたのコントローラのアクションで:

[HttpPost] 
public ActionResult Foo(KontaktModel details) 
{ 
    .. use the details object to construct your email ...   
} 

私はhttp://asp.net/mvcでチュートリアルを見てみるだけでなく、NerdDinnerチュートリアルをやって示唆しています。

0

電子メールの作成と送信コードをコントローラメソッドで記述します。次に、このように、このお問い合わせ先部分図からそれを呼びたい:

SendMail
<% using (Html.BeginForm("SendMail", "Mail")) { %> 

は方法であり、そしてMailは、コントローラの名前です。

public ActionResult SendMail() 
{   
    //build your mail objects and send as needed. 
    return View(); 
}