嗨,我需要在局部视图中获取 Html 前缀。
我在渲染部分视图的位置附加了这样的前缀
Html.RenderPartial("Person", Model.Person, new ViewDataDictionary(Html.ViewDataContainer.ViewData)
{
TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "DelegatePerson"}
});
现在,当我进入 Person PartialView 时,我需要在这种情况下使用前缀。
@Html.TextBoxFor(model => model.CPR, new { @class = "numericTextbox", maxlength = 10, id = "CprField", onkeyup ="CprFieldEdited("[HTMLPrefix]_FieldName");" })
但是我不知道该怎么做。我已经搜索了很长时间。我希望有人知道如何做到这一点或类似的事情。
编辑:
这意味着我应该能够告诉 Javascript 函数 CprFieldEdited 它应该搜索的 html 前缀在这种情况下是“DelegatePerson”
编辑2: 似乎不清楚我的意思,所以我会尝试提供更多代码。
主页:
//None relevant Code here
@Scripts.Render("~/bundles/person_search")
//None relevant Code here
<Body>
//None relevant Code here
Html.RenderPartial("Person", Model.Person, new ViewDataDictionary(Html.ViewDataContainer.ViewData)
{
TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "DelegatePerson"}
});
//None relevant Code here
Html.RenderPartial("Person", Model.Person, new ViewDataDictionary(Html.ViewDataContainer.ViewData)
{
TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "EmployerPerson"}
});
//None relevant Code here
</body>
在这种情况下,我有两个相同类型的 Partials 呈现在同一页面上。但是在它们内部我需要告诉Javascript包现在正在使用其中的一个,因为我不能使用它们被用于其他东西的ID我的想法是什么使用带有前缀的Name属性但是正如下一个代码所示我可以'不给 javascript 前缀以区分两个部分
@Html.TextBoxFor(model => model.CPR, new {id = "CprField", onkeyup ="CprFieldEdited("[FieldNameWithPartialPrefix]");" })
问题是我不能给 CprFieldEdited("[FieldNameWithPartialPrefix]"); javascript "[FieldNameWithPartialPrefix]" 可以是 "DelegatePerson_Fieldname" 或 "EmployerPerson"