Bootstrap Dropdown menu is not working

Hướng dẫn dưới đây giúp khắc phục lỗi Bootstrap Dropdown không hoạt động (Bootstrap Dropdown menu is not working)

Khắc phục:

  1. Thứ tự file JS đặt trước file CSS trong phần head của trang
  2. Thứ tự file Jquery.js đặt trước bootstrap.js

src=”https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js“>

src=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js” integrity=”sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa” crossorigin=”anonymous”>

<link rel=”stylesheet” type=”text/css” href=”css/style.css”>
<link rel=”stylesheet” href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css&#8221; integrity=”sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u” crossorigin=”anonymous”>

 

Cấu hình ckfinder với ckeditor

Hướng dẫn dưới đây cấu hình ckfinder với ckeditor trong ASP.NET MVC 5

Thiết lập CKEditor trong MVC View:

@section scripts
{

@Scripts.Render(“~/bundles/jqueryval”)
http://~/ckeditor/ckeditor.js
http://~/ckfinder/ckfinder.js

var editor = CKEDITOR.replace(‘Content’);
CKFinder.setupCKEditor(editor, ‘../ckfinder/’);

}

Cấu hình đường dẫn của ckfinder trong config.ascx

public override void SetConfig()
{
// Paste your license name and key here. If left blank, CKFinder will
// be fully functional, in Demo Mode.
LicenseName = “”;
LicenseKey = “”;

// The base URL used to reach files in CKFinder through the browser.
BaseUrl = “../ckfinder/userfiles/”;

Note: nếu lỡ quên copy ckfinder vào thư mục Bin của ứng dụng thì gặp lỗi sau

Could not load type ‘CKFinder.Connector.Connector’. Could not load type ‘CKFinder.Settings.ConfigFile’. Unknown server tag ‘CKFinder:Config’.

ASP.NET Webforms Authorization

Hướng dẫn dưới đây giúp thiết lập cấu hình AUTHENTICATION và AUTHORIZARION trong ASP.NET WebForms 4.5

Cấu hình file web.config trong thư mục gốc của ứng dụng

<location path=”Account”>
<system.web>
<authorization>
<allow users=”*”/>
</authorization>
</system.web>
</location>

<system.web>
<authentication mode=”Forms”>
<forms name=”ASPNETAUTH” loginUrl=”~/Account/Login”></forms>
</authentication>

<authorization>
<deny users=”?”/>
</authorization>

 

Cấu hình toolbar cho CKEditor

Bài viết này hướng dẫn các bạn cách Cấu hình toolbar cho CKEditor với toolbar cơ bản (basic toolbar)

Các bước thực hiện:

  1. Mở file config.js trong thư mục ckeditor
  2. Copy đoạn code sau chèn vào phía trên của file config.js

CKEDITOR.config.toolbar = [
[‘Styles’, ‘Format’, ‘Font’, ‘FontSize’],

[‘Bold’, ‘Italic’, ‘Underline’, ‘StrikeThrough’, ‘-‘, ‘Undo’, ‘Redo’, ‘-‘, ‘Cut’, ‘Copy’, ‘Paste’, ‘Find’, ‘Replace’, ‘-‘, ‘Outdent’, ‘Indent’, ‘-‘, ‘Print’],

[‘NumberedList’, ‘BulletedList’, ‘-‘, ‘JustifyLeft’, ‘JustifyCenter’, ‘JustifyRight’, ‘JustifyBlock’],
[‘Image’, ‘Table’, ‘-‘, ‘Link’, ‘Flash’, ‘Smiley’, ‘TextColor’, ‘BGColor’, ‘Source’]
];

3. Lưu và kiểm tra lại kết quả.

Error: A potentially dangerous Request.Form

Khi gặp lỗi: A potentially dangerous Request.Form value was detected from the client

Cách xử lý: thêm thuộc tính vào [ValidateInput(false)] ActionMethod như dưới đây

[HttpPost]
[ValidateAntiForgeryToken]
[ValidateInput(false)]
public ActionResult Edit([Bind(Include = “Id,SubjectId,Title,Content,…”)] Note note)
{

}

A potentially dangerous Request.Form value was detected from the client

The ‘ObjectContent`1’ type failed to serialize the response body for content type

Lỗi: The ‘ObjectContent`1’ type failed to serialize the response body …

Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
The ‘ObjectContent`1’ type failed to serialize the response body for content type ‘application/xml; charset=utf-8’.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace/>
<InnerException>
<Message>An error has occurred.</Message>
<ExceptionMessage>
Type ‘System.Data.Entity.DynamicProxies.Note_F843D42272465FB5DCED8BD44BD094791BE3AEBE38A117FA4DA7420DB2525323’ with data contract name ‘Note_F843D42272465FB5DCED8BD44BD094791BE3AEBE38A117FA4DA7420DB2525323:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies&#8217; is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types – for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer.
</ExceptionMessage>
<ExceptionType>
System.Runtime.Serialization.SerializationException
</ExceptionType>

Xử lý: Chèn đoạn code này vào file WebApiConfig.cs trong phương thức public static void Register(HttpConfiguration config)

 var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
config.Formatters.Remove(config.Formatters.XmlFormatter);

Data Annotation EntityFramework

Sử dụng Data Annotation để hiển thị kiểu dữ liệu theo định dạng Ngày/Tháng/Năm (dd/MM/yyyy)

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString=”{0:dd/MM/yyyy}”)]
[DefaultValue(“getdate()“)]
public DateTime CreatedDate { get; set; }

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = “{0:dd/MM/yyyy}”)]
public Nullable<System.DateTime> NGAY_BAT_DAU { get; set; }