小编Ari*_*tos的帖子

如何在ASP.NET MVC视图中返回当前操作?

我想在我的母版页中设置一个CSS类,这取决于当前的控制器和操作.我可以通过当前的控制器ViewContext.Controller.GetType().Name,但是如何获得当前的操作(例如Index,Show等等)?

c# asp.net-mvc

290
推荐指数
8
解决办法
15万
查看次数

在C#中将换行符添加到字符串中

我有一个字符串.

string strToProcess = "fkdfdsfdflkdkfk@dfsdfjk72388389@kdkfkdfkkl@jkdjkfjd@jjjk@";
Run Code Online (Sandbox Code Playgroud)

我需要在字符串中每次出现"@"符号后添加换行符.

我的输出应该是这样的

fkdfdsfdflkdkfk@
dfsdfjk72388389@
kdkfkdfkkl@
jkdjkfjd@
jjjk@
Run Code Online (Sandbox Code Playgroud)

c# string

212
推荐指数
7
解决办法
84万
查看次数

如何在ggplot2中使用希腊符号?

我的类别需要用希腊字母命名.我正在使用ggplot2它,它可以很好地处理数据.不幸的是,我无法弄清楚如何将这些希腊符号放在x轴(刻度线)上,并使它们出现在图例中.有什么办法吗?

更新:我看了一下链接,然而,没有很好的方法来描述我想要做的事情.

unicode graphics r utf-8 ggplot2

92
推荐指数
4
解决办法
7万
查看次数

ASP.NET静态变量的生命周期

我在页面类中定义的静态变量中持有一些信息(不在Global.asax中).我只在代码中声明变量,如:

protected static int SomeGlobalUnsecureID;
protected static string SomeGlobalUnsecureString;
Run Code Online (Sandbox Code Playgroud)

并在PageLoad事件中定义变量.例如,我检查数据库中的ID,如果它与SomeGlobalUnsecureID不同,我从其他地方更新SomeGlobalUnsecureID和String,否则保持不变.这在我的应用程序中非常安全.逻辑(即那些数据不安全,每个人都可以访问它们,没问题); 我唯一想做的就是

  1. 无论用户连接如何,都要保持相同的内存量

  2. 当且仅当持久性信息与'memory'中的持久信息不同时才会改变(因为实际读取字符串对我来说非常耗时.

现在,因为我在PageLoad中进行了检查,所以在重新加载的页面中没有问题.然而,我的页面充满了WebMethods,有时我看到静态变量被归零.奇怪的是; 即使静态变量归零,会话仍然处于活动状态(所以 - >没有服务器或应用程序池重启等)

这对我来说真的很奇怪.我假设静态变量将保持其值,直到应用程序(以某种方式)结束.但即使Session没有过期,静态变量也会归零.你有什么建议?使用应用程序变量是更好的选择吗?我在网上看到的所有文件都提出了静态变量而不是应用程序变量,我是否需要声明它们有所不同?

c# asp.net static

73
推荐指数
2
解决办法
8万
查看次数

FPDF utf-8编码(HOW-TO)

有谁知道如何将FPDF包中的编码设置为utf-8?或者至少支持希腊字符的ISO-8859-7(希腊语)?

基本上我想创建一个包含希腊字符的pdf文件.

任何建议都会有帮助.乔治

unicode utf-8 character-encoding fpdf

72
推荐指数
7
解决办法
17万
查看次数

为什么将短空值转换为int null值以便与null进行比较?

当我比较可空的短值时,编译器首先将它们转换为整数以与null进行比较.例如,考虑这个简单的代码:

short? cTestA;
if (cTestA == null) { ... }
Run Code Online (Sandbox Code Playgroud)

它由编译器转换为:

short? CS$0$0001 = cTestA;
int? CS$0$0002 = CS$0$0001.HasValue ? new int?(CS$0$0001.GetValueOrDefault()) : null;
if (!CS$0$0002.HasValue){ ... }
Run Code Online (Sandbox Code Playgroud)

这适用于包括.NET 4在内的所有.NET版本.

我在这里错过了什么?仅针对HasValue检查进行双重转换的原因是什么?

跟进

我期望编译器做的是使用.HasValue进行简单的检查if (cTestA.HasValue){}.至少这是我在发现此转换后在代码中执行的操作.

为什么所有这些额外的代码都添加了这么简单的测试?

c# compiler-construction nullable

40
推荐指数
2
解决办法
4881
查看次数

相同类型的Object的InvalidCastException - 自定义控件加载

我有一个非常有线的错误,我的一个自定义控件似乎是创建两个编译文件,当我尝试动态加载它LoadControl()只是失败因为无法将一个转换为另一个 - 即使它们完全相同.我写的消息看到的一切都是一样的,只是改变了编译过的dll.

System.Web.HttpUnhandledException (0x80004005):     
 Exception of type 'System.Web.HttpUnhandledException' was thrown. --->             
    System.InvalidCastException:
[A]ASP.Modules_OneProduct_MedioumImage cannot be cast to
[B]ASP.Modules_OneProduct_MedioumImage.         

   Type A originates from 'App_Web_kg4bazz1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
in the context 'Default'
    at location 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\80ed7513\10eb08d9\App_Web_kg4bazz1.dll'.          

   Type B originates from 'App_Web_oneproduct_mediumimage.ascx.d1003923.4xoxco7b, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' 
in the context 'Default'    
    at location 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\80ed7513\10eb08d9\App_Web_oneproduct_mediumimage.ascx.d1003923.4xoxco7b.dll'.
Run Code Online (Sandbox Code Playgroud)

代码

在我完全按照MSDN上的内容编写后,这就是现在的代码:

foreach (int OneProductID in TheProductIdArrays)
{
    // here is the throw.
    ASP.Modules_OneProduct_MedioumImage OneProduct = 
        (ASP.Modules_OneProduct_MedioumImage)LoadControl(@"~/mod/OneProduct_MediumImage.ascx");

    // do some work with 
    //OneProduct …
Run Code Online (Sandbox Code Playgroud)

c# asp.net compiler-construction user-controls dynamic-compilation

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

有些黑客可以从用户那里窃取cookie并在网站上使用该名称登录吗?

读这个问题

不同的用户在aspxanonymous中获得相同的cookie值

并且我开始思考,如果某个人可以通过某种方式真正窃取cookie,然后将其放在他的浏览器上,登录就可以说是管理员了.

您是否知道表单身份验证如何确保即使cookie被存储,黑客也不会使用它进行实际登录?

或者你知道其他任何自动防御机制吗?

先谢谢你.

asp.net security cookies forms-authentication

27
推荐指数
2
解决办法
2万
查看次数

StackExchange.Redis简单的C#示例

我正在寻找一个非常简单的启动C#应用程序来使用StackExchange.Redis我在网上搜索并找到了StackExchange.Redis

但这似乎不是一个快速启动的例子.

我使用StackExchange.Redis exe在Windows上设置了redis

任何人都可以帮我找到一个简单的C#应用​​程序连接redis服务器并设置和获取一些密钥.

c# redis stackexchange.redis

20
推荐指数
2
解决办法
3万
查看次数

在ASP.NET中使用静态变量而不是Application状态

我在ASP.NET中使用静态变量而不是Application状态,我想知道这是否是正确的方法:

[Global.asax.cs]

...

public class Global : System.Web.HttpApplication
{
    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

    }

    ...

    private static Dictionary<string, object> cacheItems = new Dictionary<string, object>();
    private static object locker = new object();

    public static Dictionary<string, object> CacheItems
    {
        get
        {
            lock (locker)
            {
                return cacheItems;
            }
        }

        set
        {
            lock (locker)
            {
                cacheItems = value;
            }
        }
    }

    public static void RemoveCacheItem(string key)
    {
        cacheItems.Remove(key);
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用自动创建的Global.asax(和代码隐藏)文件.我添加了一些静态变量和方法.以这种方式我可以使用它们:

[some .cs file] …
Run Code Online (Sandbox Code Playgroud)

c# asp.net static state

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