データベースのテーブルの列(FirstName)の代わりにキリル文字 "име"を表示しようとしましたが、奇妙な記号 "Èìå"が表示されます。私はwebconfigに<globalization fileEncoding="utf-8" />
を持っており、コードを含んでいるファイルをチェックしたところ、それらはすべてUTF-8として保存されています。MVCの表示属性がHTMLにキリル文字を表示しない
私はこの問題がModelRS.edmxの何か、またはこの階層に含まれるファイルによって引き起こされているかどうかは確かです。より多くのコードを提供する2つのスクリーンショットがあります。
私はちょうど私が試したし、正常に動作しますが、それは悪い習慣のように感じていると、これは私が受験裁判官に示していたプロジェクトであるとして、HTMLで「Имеを」ハードコーディングする必要がありますか?
マイHTMLブロック(も参照comperhensive情報のためのスクリーンショット):
@using PagedList.Mvc;
@model PagedList.IPagedList<Rating_System.Models.tblTeacher>
@Html.DisplayNameFor(model => model.First().FirstName)
// I have .First() because the web page has pagination
マイコントローラ:
public class TeachersController : Controller
{
private RSEntities db = new RSEntities();
// GET: Teachers
public ActionResult Index(int page = 1, int pageSize = 8)
{
List<tblTeacher> listTeachers = db.tblTeachers.ToList();
PagedList<tblTeacher> model = new PagedList<tblTeacher>(listTeachers, page, pageSize);
//return View(db.tblTeachers.ToList());
return View(model);
}
}
私の "モデル":
public partial class tblTeacher
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public tblTeacher()
{
this.tblRatings = new HashSet<tblRating>();
this.tblTeachersDisciplines = new HashSet<tblTeachersDiscipline>();
}
public int ID { get; set; }
[Required]
[Display(Name = "Име:")]
[StringLength(50)]
public string FirstName { get; set; }
}
私はいくつかのビューをページし、 '.First()'を使う必要はありませんでした。モデルのデータ注釈が必要なものに設定されているのが分かります。それはうまくいかない? –
.First()を削除すると、Visual StudioはFirstNameを認識しません そして、私はページネーションを使用し、2番目のモデルは必須であるため、最初のモデルにコメントしました。私は2つのモデルを持つことはできません、thoguh – Georgi93
これまでに私に起こったこともありました。単に手動で入力してください。 Intellisenseはそれを認識しません。 '@ Html.DisplayNameFor(model => model.FirstName)' –