如何更改 TemplateInfo.HtmlFieldPrefix 的列表索引?

发布于 2024-11-29 11:42:05 字数 322 浏览 2 评论 0原文

如何更改 HtmlFieldPrefix 的索引?

我从 EditorFor() 获取 Children[0],我想将其设为 Children[@Model.Id]
或来自 EditorFor() 的 Children[2].Children[4] ,我想将其设为 Children[@"ParentModel".Id].Children[@Model.Id]

直到运行时我才会知道实际的前缀。最好有一个内置的方法来改变它?
或者只是弄乱字符串?我对 C# 字符串函数还是新手。

How can I change the index of HtmlFieldPrefix?

I'm getting Children[0] from EditorFor() and I want to make it Children[@Model.Id]
or Children[2].Children[4] from EditorFor() and I want to make it Children[@"ParentModel".Id].Children[@Model.Id]

I won't know the actual prefix until runtime. Preferably there'd be a built-in way to change it?
Or just messing with the string? I'm still new to C# string functions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水晶透心 2024-12-06 11:42:05

尝试将以下内容放入编辑器模板中:

@model SomeViewModel
@{        
    ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
        ViewData.TemplateInfo.HtmlFieldPrefix, 
        @"\[[0-9]+\]$", 
        m => string.Format("[{0}]", Model.Id)
    );
}

Try putting the following inside your editor template:

@model SomeViewModel
@{        
    ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
        ViewData.TemplateInfo.HtmlFieldPrefix, 
        @"\[[0-9]+\]$", 
        m => string.Format("[{0}]", Model.Id)
    );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文