帮助我!ASP.NET中的MVC和AJAX工具包编辑器

帮助我!ASP.NET中的MVC和AJAX工具包编辑器,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我想使用Ajax工具箱编辑器控件 查看CreateProduct <fieldset> <legend>Product information</legend> <table align="center"> <tr> <td><label for="slogan">Slogan:</la

我想使用Ajax工具箱编辑器控件

查看CreateProduct

 <fieldset>
            <legend>Product information</legend>
            <table align="center">
                <tr>
                    <td><label for="slogan">Slogan:</label></td>                   
                    <td><%= Html.TextBox("slogan")%></td>
                </tr>
                <tr>
                    <td><label for="content">Content :</label></td>
                    <td>
                        <asp:ScriptManager ID="ScriptManager1" runat="server">
                        </asp:ScriptManager>

                        <cc1:Editor ID="content" runat="server" Height="300px"  />
                    </td>
                 </tr>
             </table>
     </fieldset>
当我添加产品时,只添加了标语,内容为空

我不明白怎么修理它。 请帮帮我!
非常感谢

它不是这样工作的。您正在将ASP.NET WebForms与MVC混合使用。ID=“content”仅设置编辑器控件的服务器端ID。但是,控制器参数由表单字段名称映射,在您的情况下,会自动生成相应textarea的名称。我不知道有什么方法可以正常更改ASP.NET呈现的控件的名称。但是,您可以尝试以下操作:

<script type="text/javascript">
document.getElementById('<%= content.ClientID =>').name = 'content';
</script>

document.getElementById(“”).name='content';
把这个放在视图的底部。这可能会奏效

请记住,即使它起作用,上述操作也是一个肮脏的黑客行为。MVC项目中的正确方法是仅使用客户端脚本初始化编辑器控件。这并不总是容易的,但却是可行的。请尝试查看此页面的源代码以供参考:

<script type="text/javascript">
document.getElementById('<%= content.ClientID =>').name = 'content';
</script>