如何在提交表单后获取表单字段ID。我试着这样:
ViewData.TemplateInfo.GetFullHtmlFieldId(logOnParts.Part.UserNameOrEmail)
但在控制器方面没有工作。我需要得到“Part_UserNameOrEmail”的东西..
if (String.IsNullOrEmpty(logOnParts.Part.UserNameOrEmail))
{
ModelState.AddModelError("Part_UserNameOrEmail", "error");
TempData["logon-focus-field"] = "Part_UserNameOrEmail";
}
所以我会把这个领域集中在视角这样:
$(document).ready(function () {
$('#TempData["logon-focus-field"]').focus();
});
答案 0 :(得分:0)
控制器绝对不需要这些信息。生成的id是视图特定信息。如果您需要在控制器中使用它,这只意味着您的应用程序存在严重的设计问题。不幸的是,由于您没有在问题中解释您的场景,因此很难帮助您解决此问题。所以在你的控制器中你可以这样做:
Expression<Func<MyViewModel, string>> expression = x => x.Part.UserNameOrEmail;
string name = ExpressionHelper.GetExpressionText(expression);
string id = new TemplateInfo().GetFullHtmlFieldId(name);