ASP.NET mobile でテキストボックスをマルチライン

モバイルWebアプリケーションで複数行のテキストボックスを利用。
使い方は省略。
タグを書き換えと、改行の入力を殺すだけ。必要に応じて他の文字に変更してね。

public class MultiLineInput : System.Web.UI.MobileControls.TextBox  , IPostBackDataHandler
{
#RowsとColsプロパティ 略



protected override void OnRender( HtmlTextWriter writer)
{            
     writer.WriteBeginTag("textarea");
     String renderName;
     renderName = UniqueID;
     writer.WriteAttribute("name", renderName);
     writer.WriteAttribute("cols", Cols.ToString());
     writer.WriteAttribute("rows", Rows.ToString());
     writer.Write(">");
     writer.Write(Text);
     writer.WriteEndTag("textarea");
     if (BreakAfter)
         writer.Write("<br />");
}

bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
{
     String presentValue = Text.Replace("\n", " ");
     String postedValue = postCollection[postDataKey];
     postedValue = postedValue.Replace("\r\n", " ");
     postedValue = postedValue.Replace("\n", " ");

    if (!presentValue.Equals(postedValue))
    {
        Text = postedValue;
        return true;
    }
    return false;
}

}

※本来のデバイス別動作とかは無視です。
改行があると動かない機種も無視です。
動作確認してません。
改行含む文字列をTextの初期値指定したとたんに、エラーになるので、
ほかの文字に変更しておいて、OnRenderの中で\nに戻してみたり。