str.trim()是.net的用法
trim(str)是vb的用法.這種用法不能用於c#,但上面那種可以用於c#
action 中的字串參數,如 query 方法中的 name 參數。
action 中的複雜類型參數的字串屬性,如 create 方法中的 person 的 name 屬性。
action 中顯式綁定的複雜類型的字串屬性,如上第三個 action 中的 person 的 name 屬性。
public class personcontroller : controller
{
public actionresult query(string name)
{
//...
}
//...
[httppost]
public actionresult create(person person)
{
//...
}
[httppost]
public actionresult create(formcollection collection)
{
person person = new person();
updatemodel(person, collection);
//...
}
//...
}
public class person
{
public int id { get; set; }
public string name { get; set; }
}
建立一個有 trim 功能的 modelbinder(僅用於 string 類型):
public class stringtrimmodelbinder : defaultmodelbinder
{
public override object bindmodel(controllercontext controllercontext, modelbindingcontext bindingcontext)
{
var value = base.bindmodel(controllercontext, bindingcontext);
if (value is string) return (value as string).trim();
return value;
}
}
在 global.asax 中為 string 類型指定這個 modelbinder:
public class mvcapplication : system.web.httpapplication
{
protected void application_start()
{
modelbinders.binders.add(typeof(string), new stringtrimmodelbinder());
//...
}
//...
}