getActivity()
является дочерним элементом контекста, поэтому он должен работать для вас
Еще лучше, вы можете установить ViewData.TemplateInfo.HtmlFieldPrefix внутри действия контроллера,
public Actionresult MyAction()
{
...
ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix";
return PartialView("MyView", viewmodel);
}
В вашей модели просмотра нет необходимости в ViewBag или в качестве свойства.
Вы можете передать эту информацию вместе с частью модели представления:
public ActionResult NewMonitorValidationRule()
{
ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next};
// CODE TO SET PartialView field prefix
rule.MyPrefix = "Rule[153]";
return PartialView("ValidationRuleRow", rule);
}
и внутри частичного представления ValidationRuleRow.cshtml
использовать это свойство модели представления, чтобы установить префикс:
@{
if (!string.IsNullOrEmpty(Model.MyPrefix))
{
ViewData.TemplateInfo.HtmlFieldPrefix = Model.MyPrefix;
}
}
id attributes
не будет отображаться ... См. мой вопрос – ooXei1sh 28 July 2016 в 15:41