Помоги мне ! Редактор инструментария MVC и AJAX в ASP.NET - PullRequest
0 голосов
/ 13 июня 2011

Я хочу использовать элемент управления редактора инструментария 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>

ProductController:

     public ActionResult CreateProduct(string slogan, string content)
    {
        ProductDataContext data = new ProductDataContext();
        PRODUCT p = new PRODUCT();

        p.SLOGAN = slogan;
        p.CONTENT = content;

        data.AddProduct(p);
        data.SubmitChanges();

        return View();
    }

Когда я добавил товар, был добавлен только слоган, контент был нулевым.

Я не понимаю и как его починить.Помоги мне, пожалуйста!Большое спасибо!

1 Ответ

1 голос
/ 13 июня 2011

Так не работает. Вы смешиваете ASP.NET WebForms с MVC. ID = "content" устанавливает только идентификатор на стороне сервера элемента управления Editor. Однако параметры контроллера отображаются по именам полей формы, и в вашем случае имя соответствующей текстовой области генерируется автоматически. Я не знаю, каким образом вы могли бы обычно изменить имя элемента управления, представленного ASP.NET. Однако вы можете попробовать следующее:

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

Поместите это внизу вашего обзора. Это может просто сработать.

Имейте в виду, что даже если это работает, вышеупомянутое - грязный взлом. Правильный подход в проекте MVC заключается в инициализации элемента управления Editor с использованием только клиентских сценариев. Это не всегда легко, но выполнимо. Для справки, попробуйте посмотреть на источник этой страницы:

http://www.asp.net/ajax/ajaxcontroltoolkit/samples/htmleditor/OtherSamples/ClientSide.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...