DevExpress MVC HTMLEditor - в режиме редактирования не будет отображать значение свойства модели в HtmlEditor

Я создал частичное представление, в котором определяем HtmlEditor и связываем его со свойством Model. Он будет отображать содержимое в зависимости от выбора значения. Так, в первый раз, когда он загружает родительский вид и внутри родительского частичного представления, он отображает значение свойства модели в HtmlEditor, но когда я изменяю раскрывающееся значение и отображаю частичный вид с обновленным значением, он не будет отображать обновленное содержимое.

AddEditHelpContent.chtml:-

 <div class="form-group">
        <div>
            <label class="set-lable">Language</label>
        </div>
        <div>
            @Html.DevExpress().ComboBoxFor(x => x.languageId, settings =>
            {
                settings.Name = "Language";
                settings.Properties.TextField = "Text";
                settings.Properties.ValueField = "Value";
                settings.Properties.ValueType = typeof(string);
                settings.SelectedIndex = 0;
                settings.Properties.ClientSideEvents.SelectedIndexChanged = "LanguageDropDownChange";
            }).BindList(Model.LstLanguage).Bind(Model.languageId).GetHtml()

        </div>    
    </div>

    <div class="form-group">
        <div>
            <label class="set-lable">Content</label>
        </div>

        <div style="height:70%; width:75%;float:right;">
              @Html.Partial("_FeaturesPartial", Model)
        </div>
    </div>

[JS]

var selectedLanguage =""
function LanguageDropDownChange(s,e)
{
    if (s != undefined)
        selectedLanguage = s.GetValue();

    htmlContent.PerformDataCallback()
}


function HtmlEditor_BeginCallback(s, e)
{
    HtmlEditor_BeginCallback
    e.customArgs['Language'] = selectedLanguage;
}

function HtmlEditor_EndCallback(s, e)
{

}

function HtmlEditor_LostFocus(s, e)
{

}

_FeaturesPartial.chtml:-

@model OneShip.Models.HelpManagment

@using DevExpress.Utils;
@using DevExpress.Web.ASPxHtmlEditor;
@using DevExpress.Web.Mvc;

@if (!string.IsNullOrEmpty(Model.htmlContent))
{
    ViewBag.tempdata = Model.htmlContent;
}

@Html.DevExpress().HtmlEditor(
                            settings =>
                            {
                                settings.Name = "htmlContent";
                               settings.CustomDataActionRouteValues = new { Controller = "HelpManagement", Action = "FeaturesPartial"};
                                settings.Theme = "OneShipTheme";
                                settings.Html = "";
                                settings.Html = Convert.ToString(ViewBag.tempdata);
                                settings.SettingsHtmlEditing.AllowScripts = true;
                                settings.Settings.AllowHtmlView = true;
                                settings.Settings.AllowPreview = true;
                                settings.Settings.AllowDesignView = true;
                                settings.ClientSideEvents.BeginCallback = "HtmlEditor_BeginCallback";
                                settings.ClientSideEvents.EndCallback = "HtmlEditor_EndCallback";
                                settings.ClientSideEvents.LostFocus = "HtmlEditor_LostFocus";
                            }).GetHtml()

HelpManagementController:-

  [HttpGet]
        public ActionResult AddEditHelpContent()
        {
            HelpManagment model = new HelpManagment();
            model.LstLanguage = Common.GetAllLanguage();
            model.htmlContent = "<b>First Time Loaded Value in HTML Editor </b>";
            return View(model);
        }


    public ActionResult FeaturesPartial()
        {
            HelpManagment model = new HelpManagment();
            model.htmlContent = "<b> Based on Language selection HTML content updated in HTML Editor</b>";
            return PartialView("_FeaturesPartial",model);
        }

Модель:-

public class HelpManagment
{
       public string languageId { get; set; }
       public IEnumerable<SelectListItem> LstLanguage { get; set; }
       [AllowHtml]
       public string htmlContent { get; set; }
}

0 ответов

Другие вопросы по тегам