2011-07-28 12 views
1

私はaspnet mvc3プロジェクトの剃刀ビューでフォームを持っています。 フォームの1つがHtmlString型のカスタムオブジェクトを受け取るコントローラアクションに送信します。 このプロパティーは、フォーム送信からNULLが付いており、プロパティーがタイプstringの場合、値はユーザーが書き込む値です。 プロパティがそのタイプの場合、どのようにしてこの値を取得できますか?mvc3のフォームポストからHtmlString値を取得

ありがとうございます!

編集:

<form action="@Url.Action("SaveNote", "Application")" method="post" class="note-form" style="display:none"> 
     <fieldset> 
      <div class="input_item"> 
       <div class="label"> 
        <input type="hidden" name="urlRedirect" value="@Model.UrlRedirect" /> 
        <select name="IsPrivate"> 
         <option value="False">Public</option> 
         <option value="True">Private</option> 
        </select> 
       </div> 
       <div class="input"> 
        <textarea name="Body" style="width:290px; height:90px"></textarea> 
       </div> 
       <button class="link" type="submit" name="addnote" value="0" >save</button> 
      </div> 
     </fieldset> 
    </form> 

ボディアクションにnullを行くHtmlStringパラメータです:フォームは、私が何を意味するか...ポストを作成していることが、このようなものですです。

答えて

1

HtmlStringは、単純に、すでにHTMLのエンコードされた文字列を表すために、通常の文字列のラッパーです。そのため、コンストラクタHtmlString(string value)でHtmlStringオブジェクトを作成するカスタムバインダを作成しない限り、null値が返されます。

ToHtmlString()メソッドは、.NET 4実装でatleastで渡された文字列を返します。

はい、文字列を使用してください。機能的には同じです。

0

HtmlStringを使用しないでください。 string.

1

HtmlStringは、ビューのデータをレンダリングするときにカスタムヘルパーでのみ使用する必要がありますが、ビューモデルではこのタイプのプロパティを使用しないでください。それは単に意味をなさない。そして、あなたは、この文字列プロパティをエンコードするかしないかに基づいて、ビュー内だけで使用します。

@Model.Foo 

または

@Html.Raw(Model.Foo) 
関連する問題