我为我的应用程序定义了以下路由:
routes.MapRoute(
"Referral", // Route name
"{referralCode}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个ActionLink来继续我的AdminController上的Index操作:
@Html.ActionLink("admin", "Index", "Admin")
Run Code Online (Sandbox Code Playgroud)
但是,执行视图时,ActionLink呈现为(省略了索引操作值):
<a href="/Admin">admin</a>
Run Code Online (Sandbox Code Playgroud)
通常情况下这可以,但它会导致与"推荐"路线发生冲突.
注意:如果我使用ActionLink呈现不同的操作,如"默认",则ActionLink会正确呈现:
<a href="/Admin/Default">admin</a>
Run Code Online (Sandbox Code Playgroud)
"默认"操作正确呈现的事实使我相信问题与为路由指定的默认值有关.无论如何还要强制ActionLink呈现"索引"动作吗?
我正在与一个使用Java的合作伙伴进行集成,BigInteger以生成一个字节数组作为简单加密算法的关键.我试图找到相当的.NET代码没有太多运气.
他们使用的Java代码是:
String keyString = "48B734DA47388C656913C9BF5146E186";
byte key[] = new BigInteger(keyString, 16).toByteArray();
Run Code Online (Sandbox Code Playgroud)
产生以下byte数组:
[72, -73, 52, -38, 71, 56, -116, 101, 105, 19, -55, -65, 81, 70, -31, -122]
Run Code Online (Sandbox Code Playgroud)
仅此一点令人不安,因为byte.NET中的s范围为0-255,因此负值超出范围.
我提出的最接近的.NET代码是:
string keyString = "48B734DA47388C656913C9BF5146E186";
byte[] key = BigInteger.Parse(keyString, NumberStyles.HexNumber).ToByteArray();
Run Code Online (Sandbox Code Playgroud)
产生以下byte数组:
[134, 225, 70, 81, 191, 201, 19, 105, 101, 140, 56, 71, 218, 52, 183, 72]
Run Code Online (Sandbox Code Playgroud)
在这一点上,我认为.NET等价物是不可能的 - 特别是因为负值byte.
我期待着每个人的想法.