Tôi đang cố gắng để viết một phần mở rộng cho DropDownListFor
:Làm thế nào để thêm htmlattributes bổ sung trong phần mở rộng cho DropDownListFor
public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> selectList, object htmlAttributes, bool enabled)
{
return htmlHelper.DropDownListFor(expression, selectList, null /* optionLabel */, HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}
Những gì tôi muốn đạt được nếu được kích hoạt là sai không thay đổi nhưng nếu được kích hoạt đúng Tôi muốn thêm @disabled="disabled"
vào thuộc tính html trước khi đưa chúng đến AnonymousObjectToHtmlAttributes
.
Bất kỳ ý tưởng nào về cách thực hiện việc này?
Không cần phải viết một helper, chỉ cần sử dụng quá tải mà chấp nhận htmlAttributes như Dmitry gợi ý. – RickAndMSFT
@ Rick.Anderson-at-Microsoft.com Tôi sẽ không đồng ý. Đầu tiên, câu hỏi là về việc thêm thuộc tính, không phải là khả năng sử dụng các phương thức khác. Và thứ hai, việc tạo ra helper trong trường hợp này dễ đọc hơn sau đó kiểm tra tình trạng được kích hoạt và sau đó gọi quá tải phương thức chính xác từ xem – archil