Cảm ơn bài viết ở trên, họ đã giúp tôi để tạo ra một mạnh mẽ loại hệ thống ràng buộc cho MVC 4 HTMLHelpers như sau.
public static MvcHtmlString StrongTypeBinder(this HtmlHelper htmlhelper, Expression<Func<object, string>> SomeLambda)
{
var body = SomeLambda.Body;
var propertyName = ((PropertyInfo)((MemberExpression)body).Member).Name;
HtmlString = @"
<input type='text' name='@Id' id='@Id'/>
";
HtmlString = HtmlString.Replace("@Id", propertyName);
var finalstring = new MvcHtmlString(HtmlString);
return finalstring;
}
Để sử dụng mã trên trong bất kỳ CSHTML Xem:
@Html.StrongTypeBinder(p=>Model.SelectedDate)
này cho phép tôi để ràng buộc bất cứ tài sản trong một ViewModel cho bất kỳ loại phần tử HTML tôi muốn. Trong ví dụ trên, tôi ràng buộc trường tên cho dữ liệu đã chọn được đăng lại sau khi người dùng chọn lựa. Chế độ xem sau khi bài đăng tự động hiển thị giá trị đã chọn.
Nguồn
2014-12-01 20:13:50
Correction: nó phải được System.Reflection.MethodBase.GetCurrentMethod() Tên – aads