Reputation: 69
How would I define my own extension-method that wraps Kendo's HtmlAttributes? I want to add bool parameter and only calls HtmlAttributes if @item.isRequired is true
?
@(Html.Kendo().RadioGroupFor(m => m.MeetingPollingQuestions)
.Name(string.Format("PollingResponses[{0}].Value", idx))
.HtmlAttributes(new { required = "required", data_val_required = "Question is
Required" })
.Items(i=>
{
foreach (var option in @item.RadioButtonList)
i.Add().Label(option.Label).Value(option.Value);
})
.Value("Value")
)
}
Upvotes: 0
Views: 105
Reputation: 135
You could create a variable in your razor file to store the value for HtmlAttributes.
@{
var htmlAttributesData = item.isRequired ? "new { required = "required", data_val_required = "Question is Required" }" : "";
}
Your RadioGroupFor should look like this after:
@(Html.Kendo().RadioGroupFor(m => m.MeetingPollingQuestions)
.Name(string.Format("PollingResponses[{0}].Value", idx))
.HtmlAttributes(htmlAttributesData)
.Items(i=>
{
foreach (var option in @item.RadioButtonList)
i.Add().Label(option.Label).Value(option.Value);
})
.Value("Value")
)
}
Upvotes: 1