ASP.NET 徹底活用術(Part2)のホームへ戻る

■スレッドの返信入力

 

スレッドに返信するには、DisplayThreads.aspxに表示されているDataGridから[返信]のリンクをクリックします(14)。リンクをクリックすると、AddReply.aspxがロードされます。AddReply.aspxには、「メール」、「パスワード」、「メッセージ」を入力するTextBoxが配置されています(16)。「メッセージ」には、FreeTextBoxを利用していますのでHTML形式で入力できます。FreeTextBoxのデザインからは、文字の前景色を設定したり、太字にすることができます。また、文字のフォントサイズも設定できます。FreeTextBoxの最下位から[HTML]タブをクリックすると、直接HTMLタグを入力することができます。返信元のスレッドは、Webページの最後に表示されます。

 

<table width="650">

・・・

<tr>

  <td valign="top">

    <font face="HG創英角ゴシックUB" size="2">メッセージ</font>

  </td>

  <td>

    <FTB:FreeTextBox id="ftbMessage" runat="Server"

      Width="555px" Height="150px" Language="ja-JP"

      ToolbarStyleConfiguration="Office2003" />

  </td>

</tr>

・・・

</table>

 

AddReply.aspxから[投稿]ボタンをクリックすると、クリック時のイベントハンドラが実行されてtblThreadsテーブルに返答用のスレッドが追加されます(リスト8)。返答スレッドが追加されると、DisplayThreads.aspxがロードされて返答スレッドが表示されます。

 

 

リスト8 [投稿]ボタンクリック時のイベントハンドラ (AddReply.aspx.vb)

Private Sub btnPost_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPost.Click

  Dim strEmail As String = txtEmail.Text

  Dim strPassword As String = txtPassword.Text

  Dim strDbPassword As String = String.Empty

 

  ' tblThreads テーブルに新規レコード追加

  Dim intUserID As Integer = GetUserIDByEmail(strEmail)

  Dim strSubject As String = txtSubject.Text

  Dim strBody As String = ftbMessage.Text

  Dim dtmThreadDate As DateTime = DateTime.Now.AddHours(mintTimeZoneOffset)

  Dim intThreadID As Integer = AddThreadRec(mintPostID, intUserID, strSubject, strBody, dtmThreadDate)

  ・・・

  Dim strUrl As String

  strUrl = String.Format("DisplayThreads.aspx?faqid={0}&postid={1}", mintFaqID, mintPostID)

  Response.Redirect(strUrl)

End Sub

 

 

16 スレッドに返信するフォーム (AddReply.aspx)

 

 

ASP.NET 徹底活用術(Part2)のホームへ戻る