小编Arj*_*nbu的帖子

确定Tag Helper中的当前路由.这可能吗?

在ASP.NET MVC 6项目中,我有以下内容:

[Route("help/how-it-works")]
public IActionResult HowItWorks() {
   return View();
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个标签助手,如下所示:

<a class="menu" asp-controller="Help" asp-action="HowItWorks" route-is="help/how-it-works" css-class="active">How it works</a>
Run Code Online (Sandbox Code Playgroud)

所以route-is标签帮助器将检查当前路由是否为"help/how-it-works"...如果是,则将"active"添加到A标签的css类.

所以我开始创建一个标签助手:

[TargetElement("a", Attributes = "route-is, css-class")]
public class RouteTagHelper : TagHelper
{

public override void Process(TagHelperContext context, TagHelperOutput output)
{

    String routeIs = context.AllAttributes["route-is"].ToString();

    String cssClass = context.AllAttributes["css-class"].ToString();

    if (String.IsNullOrWhiteSpace(cssClass))
        cssClass = "active";

    ViewContext.RouteData.Values.Keys;

}
}// Process
Run Code Online (Sandbox Code Playgroud)

我的问题是如何确定当前路由是否为"help/how-it-works",以及是否将Css类添加到A标记而不更改其他任何内容.

有没有人知道如何做到这一点?

更新1

使用属性路由时解决了重复值的问题,并添加了Daniel JG提出的替代方法

[TargetElement("a", Attributes = RouteIsName)]
[TargetElement("a", Attributes = RouteHasName)]
public class ActiveRouteTagHelper : TagHelper
{
    private const String …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc

4
推荐指数
1
解决办法
4309
查看次数

ASP.NET MVC4中的PartialViews

我注意到有几种方法可以使用Views和PartialViews:

RenderAction,RenderPartial和"返回PartialView"

放置在HTML中的RenderAction只会调用一个Action并渲染返回的View(返回的View可以是局部视图还是视图?)

RenderPartial将简单地检索View的内容而不执行任何Controller操作

最后,"返回视图"和"返回部分视图"之间有什么区别?

谢谢

asp.net asp.net-mvc

3
推荐指数
1
解决办法
4892
查看次数

javascript中parantheses的功能是什么?

我知道大多数人都使用以下脚本

(function(){})();
Run Code Online (Sandbox Code Playgroud)

用于匿名函数调用.但周围的parantheses的功能是什么?

var g = (); // syntax error, why?
var g= (function(){}); // correct
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解释一下吗?

javascript

3
推荐指数
1
解决办法
167
查看次数

在c#中将Xml UTF-8转换为ISO-8859-9

我有一个由字符串生成器创建的长xml文档,其中包含起始标记 <?xml version="1.0" encoding="UTF-8"?> <xxxxxx> .. </xxxxxx> ,我想将此xml转换为iso-8859-9编码类型.我怎样才能做到这一点?或者任何人都建议我用另一种方法在C#中创建ISO-8859-9编码类型xml.

c# xml utf-8

1
推荐指数
1
解决办法
9824
查看次数

如何写这样的select语句?

我使用的是SQL Server 2008.我有一个由三列组成的表,ID为字符串类型,createtime为DataTime类型,status为int.

我想在状态值为10的所有记录中选择记录,同时createtime是最早的记录.任何想法如何写这样的查询?

BTW:ID是聚集索引,我还有createtime列的索引.

乔治,提前谢谢

sql sql-server

1
推荐指数
2
解决办法
441
查看次数

基本排序问题 - C# - (Java程序员学习C#)

我正在研究一个对象列表,不幸的是,我没有从调试中获取信息,看看我哪里出错了.

我有一个自定义类,我实现了CompareTo方法,并在该类的项目列表上调用.Sort().不幸的是,我的程序实际上从未实际使用compareTo()方法......它在调用.Sort()时会立即出错并立即关闭.

通常我应该注意什么?

这是我的类定义,类的接口列表.

    /// <summary>
/// Summary description for ClientWorkspace.
/// </summary>
public class ClientWorkspace : IStorable
{ }
Run Code Online (Sandbox Code Playgroud)

我没有列出compareTo方法,因为它甚至没有得到该代码.

c# sorting collections

0
推荐指数
1
解决办法
851
查看次数