小编DJG*_*ray的帖子

ASP.Net/C#将NameValueCollection转换为IDictionary?

我正试图帮助儿子升级我去年为他建立的网站。他想实施Amazon Simple Pay。我现在很接近,但是有一个我不知道如何解决的错误。这是用C#完成的ASP.Net网站。我是未经培训(自学)的开发人员,所以请简单地说。;-)

在ASP.Net中,在表单中包含表单是不合法的,我需要执行表单POST。在线上有一个漂亮的教程,展示了如何做到这一点。网址是http://weblogs.asp.net/hajan/archive/2011/04/20/amazon-simple-pay-in-asp-net.aspx,如果你有兴趣看到它。

必须对交易进行“签名”,Amazon提供一个SignatureUtils类来完成此任务。在那堂课中,我称之为:

public static string signParameters(IDictionary<String, String> parameters, String key, String HttpMethod, String Host, String RequestURI, String algorithm) 
Run Code Online (Sandbox Code Playgroud)

杀死我的是IDictionary参数。我需要传递的是我使用的ListParams NameValueCollection:

public System.Collections.Specialized.NameValueCollection ListParams = new System.Collections.Specialized.NameValueCollection();
Run Code Online (Sandbox Code Playgroud)

它给我下面的错误,因为它不能将NameValueCollection转换为IDictionary。我尝试显式转换它,但没有任何乐趣。我该如何解决?

Error: Argument 1: cannot convert from 'System.Collections.Specialized.NameValueCollection' to 'System.Collections.Generic.IDictionary<string,string>'
Run Code Online (Sandbox Code Playgroud)

c# asp.net namevaluecollection

5
推荐指数
3
解决办法
7884
查看次数

确定最近和下一个发薪日(周五交替)

我非常接近让它发挥作用,希望这里有人能帮助把球推到山顶。在 C# 中,我需要获取最近的发薪日和从今天开始的下一个发薪日(并最终将其扩展以查找公司历史中的任何发薪日)。发薪日每隔一个星期五发生。我使用历史基准日期来查找我的发薪日期。

我的假设(如果我错了,请纠正)是我应该总是能够将我的发薪日期除以 14。如果我不能,那么我一定处于无薪周。

这是我迄今为止所做的:

public DateTime GetNextPayDay()
{
    DateTime myNow = DateTime.Now;
    string myDay = myNow.DayOfWeek.ToString();
    while (myDay != "Friday")
    {
        myNow = myNow.AddDays(1);
        myDay = myNow.DayOfWeek.ToString();
    }
    DateTime mySeedDate = DateTime.Parse("01/02/1970");
    TimeSpan myTimeSpan = myNow.Subtract(mySeedDate);
    int myDaysDifference = myTimeSpan.Days;
    if (myDaysDifference % 14 == 0) // Problem is here
    {
        myNow = myNow.AddDays(7);
    }

    return myNow;
}

public DateTime GetLastPayDay()
{
    DateTime myNow = DateTime.Now;
    string myDay = myNow.DayOfWeek.ToString();
    while (myDay != "Friday")
    {
        myNow = myNow.AddDays(-1); …
Run Code Online (Sandbox Code Playgroud)

c# datetime

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

标签 统计

c# ×2

asp.net ×1

datetime ×1

namevaluecollection ×1