C# 从mvc3中的表单post获取HtmlString值

C# 从mvc3中的表单post获取HtmlString值,c#,asp.net-mvc-3,webforms,razor,C#,Asp.net Mvc 3,Webforms,Razor,在我的aspnet mvc3项目中,razor视图中有一个表单。 表单提交给控制器操作,该操作接收一个自定义对象,其中一个属性的类型为HtmlString。 该属性在表单submit中带有null,如果该属性的类型为string,则该值为用户写入的值。 当属性为该类型时,如何获取该值 谢谢 编辑:表单是一个创建帖子。。我的意思是这样的: <form action="@Url.Action("SaveNote", "Application")" method="post" class="no

在我的aspnet mvc3项目中,razor视图中有一个表单。 表单提交给控制器操作,该操作接收一个自定义对象,其中一个属性的类型为HtmlString。 该属性在表单submit中带有null,如果该属性的类型为string,则该值为用户写入的值。 当属性为该类型时,如何获取该值

谢谢

编辑:表单是一个创建帖子。。我的意思是这样的:

<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>

公开的
私有的
拯救

主体是HtmlString参数,该参数与null一起用于操作。

不要使用
HtmlString
。只需使用
字符串。
HtmlString
在视图中呈现某些数据时,应仅在自定义帮助程序中使用,但不得在视图模型中使用此类型的属性。这根本没有道理。然后在视图中,根据是否要编码此字符串属性,只需使用:

@Model.Foo


HtmlString
只是一个普通字符串的包装器,用来表示已经用Html编码的字符串。因此,除非您编写一个自定义绑定器,通过它的构造函数
HtmlString(string value)
创建一个HtmlString对象,否则您将得到一个空值

ToHtmlString()
方法仅返回传入的字符串,至少在.NET 4实现中是这样

所以是的,只要使用字符串。功能上是一样的

@Html.Raw(Model.Foo)