2017年3月31日 星期五

[MVC] Can RenderSection be used in EditorForModel ?

Q. Sections work only in views, not in partials. An editor template is a special kind of partial. It's bad practice to put javascript in partials anyway, so I would simply declare the section in the Edit.cshtmlview.
But if you very much insist on putting your scripts in the middle of your markup, since Razor doesn't support sections in partials, you could implement custom helpers to achieve that.

REF: http://stackoverflow.com/questions/10810446/rendersection-and-editorformodel-in-asp-net-mvc

2017年3月30日 星期四

MVC DataFormatString and DisplayNameAttribute

1. DataFormatString

數字
N 或 n
以數字(包括群組分隔符號和選擇性的負號)的格式顯示數值。
 您可以指定小數位的數。
格式:{0:N}
1234.567 ->
1,234.57
格式:{0:N4}
1234.567 -> 
1,234.5670

格式:{0:N0}
1234.567 -> 
1,234
百分比
P 或 p
以百分比格式顯示數值。 您可以指定小數位的數。              
格式:{0:P}
1 -> 100.00%
格式:{0:P1}
.5 -> 50.0%

根據預設,格式字串套用至欄位值,其中包含的資料繫結控制項時,才 BoundField 物件處於唯讀模式。 若要將格式字串套用至欄位值,在編輯模式中,設定 ApplyFormatInEditMode 屬性 true。


[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N0}")]
public bool MisnamedProperty { get; set; }

2.  DisplayNameAttribute 

DisplayNameAttribute 類別來變更名稱的屬性

[DisplayName("RenamedProperty")]
public bool MisnamedProperty { get; set; }

REF:

https://msdn.microsoft.com/zh-tw/library/system.componentmodel.displaynameattribute(v=vs.110).aspx
https://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.boundfield.dataformatstring(v=vs.110).aspx

2017年3月13日 星期一

[MVC] update edmx error on MySql


  • Q: 無法產生模型,因為發生下列例外狀況: 'System.Data.StrongTypingException: 資料表 'TableDetails' 中資料行 'IsPrimaryKey' 的值是 DBNull。 ---> System.InvalidCastException: 指定的轉換無效。
  • 1. Open Services (services.msc) and restart MySQL57 service. 
  • 2. Execute the following commands in MySQL.
    • use <<database name>>;
    • set global optimizer_switch='derived_merge=OFF';
  • 3. Update the .edmx.

  • REF: 

    • http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is