添加“目标”; Telerik MVC 扩展中选项卡条项目 URL 的属性
我正在用其下方的 Telerik Extensions Tabstrip 替换此“手卷”选项卡条,但我无法理解如何让 Tabstrip 在每个项目的 URL 中包含 target
属性。我怎样才能实现这个目标?
之前:
<ol>
@foreach (var sheet in Model.Sheets)
{
<li>
<a href="@(Url.Content(Server.MapUrl(sheet.FilePath)) + "?guid=" + Guid.NewGuid())" target="selected-worksheet">@sheet.Name</a></li>
}
</ol>
之后:
@Html.Telerik().TabStrip().Name("Card").BindTo(Model.Sheets, (item, tabInfo) =>
{
item.Text = tabInfo.Name;
item.Url = Url.Content(Server.MapUrl(tabInfo.FilePath));
})
I am replacing this 'hand-rolled' tabstrip with the Telerik Extensions Tabstrip below it, but I can't fathom how to get the Tabstrip to include the target
attribute in the URL for each item. How can I achieve this?
Before:
<ol>
@foreach (var sheet in Model.Sheets)
{
<li>
<a href="@(Url.Content(Server.MapUrl(sheet.FilePath)) + "?guid=" + Guid.NewGuid())" target="selected-worksheet">@sheet.Name</a></li>
}
</ol>
After:
@Html.Telerik().TabStrip().Name("Card").BindTo(Model.Sheets, (item, tabInfo) =>
{
item.Text = tabInfo.Name;
item.Url = Url.Content(Server.MapUrl(tabInfo.FilePath));
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
LinkHtmlAttributes
属性来设置额外的 html 属性:实际上我从未使用过 Telerik,所以我不太确定是否必须实例化一个新字典或只是添加一个键(如果该属性自动实例化):
You could use the
LinkHtmlAttributes
property to set additional html attributes:Actually I've never used Telerik, so I am not quite sure if you have to instantiate a new dictionary or simply add a key (in case the property is automatically instantiated):
我认为我在使用 Telerik TreeView 时遇到了类似的问题,并通过使用 jQuery 绕道解决了它。
我的问题是,将任何(链接)HtmlAttributes 传递到视图中的 TreeViewItems 不起作用。我尝试向控制器中的 TreeViewItem 添加几个 HtmlAttributes: (例如,我想添加到 元素的一个属性):
,但在 return 之后为Ajax 请求的 JsonResult,除了 .Text、.Value、.Enabled、.LoadOnDemand、.Url 之外,视图中的所有内容都为空。
我找到了一个明智的答案,即这些元素没有在 Telerik 论坛中序列化:
http://www.telerik.com/community/forums/aspnet-mvc/treeview/target-blank-on-treeviewitem-url.aspx#1548458
然后我解决了它,添加 特殊
TreeViewItem 的 .Text 的 元素。然后通过视图中的 jQuery 找到这些元素,并将所需的 html 属性添加到 < > 元素。
Telerik TreeView 通过 Ajax 绑定第二和第三阶段元素的方法:
操作“_AjaxLoading”中的控制器片段:
视图:
结果 TreeView 元素:
通过 #main html 元素中的 Ajax 加载通过“NavigateToRevisionDetails”操作调用的 PartialView 以及其余部分页面没有刷新!
I think I had a similar problem with the Telerik TreeView and solved it via a detour with jQuery.
My problem was, that it didn't work to pass any (Link)HtmlAttributes, to the TreeViewItems in the View. I tried to add several HtmlAttributes to the TreeViewItem in the Controller: (e.g. one attribute I wanted to add to the < a > element):
, but after return as JsonResult of the Ajax-Request, all except .Text, .Value, .Enabled, .LoadOnDemand, .Url were then empty in the View.
I found a sensible answer that these elements are not getting serialized in the Telerik forum:
http://www.telerik.com/community/forums/aspnet-mvc/treeview/target-blank-on-treeviewitem-url.aspx#1548458
I solved it then, with adding a special
element to the .Text of the TreeViewItem. Locating these elements then via jQuery in the View and adding the desired html-attributes to the < a > element.
Telerik TreeView Binding method of the 2nd and 3rd stage elements via Ajax:
Controller snippet in Action "_AjaxLoading":
View:
Result TreeView element:
Loads the PartialView invoked through "NavigateToRevisionDetails" Action via Ajax in the #main html-element and the rest of the page doesn't get refreshed!