小编Rob*_*vey的帖子

在asp.net mvc中使用context.User.Identity.Name有什么用?

我正在学习asp.net mvc,我刚开始,我决定从网络表格转移到mvc.

我正在从codeplex mvc音乐商店学习这个教程,而且这段代码我不明白它是如何使用的以及为什么使用它.

这是代码行:

if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
                {
                    context.Session[CartSessionKey] = context.User.Identity.Name;

                }
Run Code Online (Sandbox Code Playgroud)

我想知道什么context.User.Identity.Name,因为我尝试删除它包含的if块,应用程序仍然有效.

这是该函数的完整代码:

 public string GetCartId(HttpContextBase context)
        {
            if (context.Session[CartSessionKey] == null)
            {
                if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
                {
                    context.Session[CartSessionKey] = context.User.Identity.Name;

                }
                else
                {
                    // Generate a new random GUID using System.Guid class
                    Guid tempCartId = Guid.NewGuid();
                    // Send tempCartId back to client as a cookie
                    context.Session[CartSessionKey] = tempCartId.ToString();
                }
            }
            return context.Session[CartSessionKey].ToString();
        }
Run Code Online (Sandbox Code Playgroud)

c# asp.net visual-studio asp.net-mvc-3

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

摆动计时器:不要依赖摆动计时器.问题标记; 和并发问题

第一件事让我感到震惊:System.currentTimeMillis()我认为非常准确,给出一个long值,以及在哪里作为参数的SwingTimers请求int; 这是什么意思?不要认为SwingTimers准确吗?

2)假设一个字的定时SwingTimer需要x毫秒; 如果我们重复一项任务(突出显示单词,如卡拉OK应用程序),我会包含以下代码:

               /*see the time taken for each letter*/                    
                 int tik=(int) delay / words[index].length();
 /* make adjustment(subtract few millisecs)  as per the time taken by each word*/
                   if(tik <69)
                    timer.setDelay((int) (delay / words[index].length())-3);
                   if(tik >=69&&tik<=149)
                    timer.setDelay((int) (delay / words[index].length())-6);
                   else if(tik <=150)
                       timer.setDelay((int) (delay / words[index].length())-9);
                   else if(tik >150)
                   timer.setDelay((int) (delay / words[index].length())-100);
Run Code Online (Sandbox Code Playgroud)

工作安静很好,但我绝对肯定我不能依赖这个,因为时间,长度可能会改变!如何克服这个问题?因为几毫秒的变化可能给我带来灾难性的后果.

3)同时我想知道卡拉OK制造商和播放器软件遵循哪种技术???,非常准确.

java swing timer

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

Windows*使用带有UTF-16的char*函数

我将一个应用程序从Linux移植到Windows.在Linux上我使用libmagic库,我不会很高兴在Windows上摆脱它.
问题是我需要将以UTF-16编码保存的文件的名称传递给这样的函数:

int magic_load(magic_t cookie, const char *filename);

不幸的是它只接受const char*filename.我的第一个想法是将UTF-16字符串转换为本地编码,但是存在一些问题 - 比如字符串可以包含例如中文符号,本地编码可能是俄语.
因此,我们将在输出上获得垃圾,程序将无法实现其目标.
转换为UTF-8也无济于事,因为这是Windows,Windows保存UTF-16中的文件名.

但我不知何故需要使该功能能够打开具有Unicode名称的文件.

我只得到一个非常糟糕的解决方案:

 1. I have a filename
 2. I can copy file with unicode name to file with ASCII name like "1.mp3"
 3. open it with libmagic functions and get what I want
 4. remove temporarily file 
Run Code Online (Sandbox Code Playgroud)

但是我理解这个解决方案是如何糟糕的以及它如何使我的应用程序变慢,所以我想,或许有更好的方法来做到这一点?

提前感谢任何提示,因为我真的很困惑.

c++ windows encoding

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

从xpage按钮调用代理时出错

我尝试从xpages按钮单击调用代理时收到错误:错误如下

执行JavaScript操作表达式时出错脚本解释器错误,line = 2,col = 7:[TypeError]发生异常调用方法NotesAgent.runWithDocumentContext(lotus.domino.local.Document)null

JavaScript代码

var agent=database.getAgent("xpCreateNewCopy");
agent.runWithDocumentContext(currentDocument.getDocument());
Run Code Online (Sandbox Code Playgroud)

xpages

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

使用包含(匹配)替换Div中的文本

jsFiddle: http ://jsfiddle.net/WM6wG/

我正在尝试替换div中的文本,但似乎无法弄清楚为什么它不起作用.

HTML:

<div class="text">abc</div>
<div class="text">foo</div>
<div class="text">bar</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

var match = 'abc';
if ($('div.text:contains(match)')) {
    $('div.text').html(function(){
        $(this).replaceText(match, 'xyz');
    }
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,预期的输出应该是:xyz foo bar但它仍然存在abc foo bar,我做错了什么?

jquery

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

如何定义派生类的"列表"?

我有一个基类和一些派生类

public class MyBase {...}
public class MyClass1 : MyBase {...}
public class MyClass2 : MyBase {...}
Run Code Online (Sandbox Code Playgroud)

现在我想列出这些派生类(类!!不是类的实例!),然后我想随机创建这些派生类之一的一个实例.

这是如何运作的??

这里我想要的伪C#:)

List<MyBase> classList = new List<MyBase> () { MyClass1, MyClass2, MyClass3, ...}

MyBase randomInstance = new classList[random.Next(0,classList.Count-1)]();
Run Code Online (Sandbox Code Playgroud)

(不幸的是,这个List构造需要MyBase的实例而不是类名)

c# types class derived

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

jquery可排序元素旁边的黑点是什么?

我第一次使用JQuery sortable,我有一个可排序的元素列表,所有元素都正常工作(小部件,带有标题和一些内部表单等工作).

我已经将一个标题元素定义为一个句柄,用于移动列表中的每个小部件,并且工作正常,但是在我的每个可排序元素的左侧会出现一个黑点,其行为类似于句柄.

在此输入图像描述

在某些元素中,点会在元素开始移动时出现,而在其他元素中则会永久固定

我用Google搜索了一个小时左右,并且发现它附近没有任何东西

这个黑点是什么,我该如何删除它?

jquery jquery-ui-sortable ruby-on-rails-3 apotomo

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

需要有关游戏设计/结构的建议

我在gamedev.stackexchange上发布了这个,但没有收到任何答案.希望有人能够帮助我.

我正在用c#开始我的第一场比赛.它是一个使用Windows窗体的基于文本的游戏.我正在集思广益,管理所有数据的最佳方法,并考虑在一个类(Game.cs)中包含与游戏实例相关的所有信息,并让该类负责跟踪任何重要的事情.(注意:我不是在谈论有一个类或类似的项目)我认为这将使保存和加载更容易(只需保存并加载该类的实例),以及使开始新游戏更容易(目前我正在初始化初始化类中的所有变量).

那么,这种方法是否会得到很好的实践(拥有游戏需要在一个班级中跟踪的所有内容)?如果没有,您是否还有其他方式可以建议处理和放置数据?

c#

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

Linq查询到字典抛出System.ArgumentException:已添加具有相同键的项

我有以下LINQ查询,我用来查询数据表并填充字典,但它不断抛出错误:

System.ArgumentException:已添加具有相同键的项.

我是LINQ的新手,无法弄清楚写这个的正确方法.

有人可以帮忙吗?

var neworderGroupDict = (from m in KMVData.AsEnumerable()
                         select new
                         {
                           datakey = m.Field<string>("OrderNumber"),
                           datavalue = m.Field<int>("OrderGroup")
                         }).Distinct().ToDictionary(n => n.datakey, n => n.datavalue);
Run Code Online (Sandbox Code Playgroud)

c# linq

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

如何将递归算法转换为尾递归算法?

作为进入合并排序的第一次尝试,我生成了以下代码,这些代码适用于字符串,因为它们比列表更容易处理.

class Program
{
    static int iterations = 0;
    static void Main(string[] args)
    {            
        string test = "zvutsrqponmlihgfedcba";
        test = MergeSort(test);
        // test is sorted after 41 iterations
    }

    static string MergeSort(string input)
    {
        iterations++;
        if (input.Length < 2)
            return input;
        int pivot = 0;
        foreach (char c in input)
            pivot += c;
        pivot /= input.Length;
        string left = "";
        string right = "";
        foreach (char c in input)            
            if (c <= (char)pivot)
                left += c;
            else
                right += c; …
Run Code Online (Sandbox Code Playgroud)

c# mergesort tail-recursion

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