Tôi vừa thử những điều sau đây để tạo một trình trợ giúp CKEditor được đánh máy mạnh mẽ và dường như nó hoạt động hoàn hảo. Điều này giả định rằng bạn đã bao gồm jquery và các kịch bản lệnh ckeditor cần thiết trong dự án của bạn. Nó có thể là tốt đẹp để xem xét cũng thiết lập cấu hình ckeditor quá, nhưng điều này hài lòng nhu cầu hiện tại của tôi.
public static MvcHtmlString CkEditor(this HtmlHelper htmlHelper, string name, string value, object htmlAttributes)
{
var output = htmlHelper.TextArea(name, value, htmlAttributes).ToString();
output += string.Format("<script type=\"text/javascript\">$(document).ready(function(){{ $('#{0}').ckeditor(); }});</script>", name);
return MvcHtmlString.Create(output);
}
public static MvcHtmlString CkEditor(this HtmlHelper htmlHelper, string name, string value)
{
return htmlHelper.CkEditor(name, value, null);
}
public static MvcHtmlString CkEditorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes) where TModel : class
{
ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
return htmlHelper.CkEditor(metadata.PropertyName, metadata.Model as string, htmlAttributes);
}
public static MvcHtmlString CkEditorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression) where TModel : class
{
return htmlHelper.CkEditorFor(expression, null);
}
Nguồn
2010-09-29 16:49:11
@JP làm cách nào để bạn nhận được giá trị? ví dụ. html.DatePicker (x => x.Date), làm thế nào để bạn nhận được giá trị x.Date – Omu