小编Ash*_*ani的帖子

当另一个fancybox实例打开时打开一个fancybox

当用户点击按钮时,我会显示一个指示用户应该等到操作完成的fancybox:

jQuery(document).ready(function () {
             $.fancybox('Please Wait...',{'modal':true});
        });
Run Code Online (Sandbox Code Playgroud)

现在我通过$ .post函数检查请求的操作并返回结果消息(操作成功或错误操作失败的原因)现在我想关闭第一个fancybox并显示新的fancybox与我从ajax获得的响应:

$.post('someurl.aspx',{'somethingtopost':'value'},
function(data){
jQuery(document).ready(function () {
$.fancybox(data);
         });
     }
);
Run Code Online (Sandbox Code Playgroud)

问题是第二个fancybox没有显示.关闭第一个fancybox时会有很多例子显示第二个fancybox(添加到onClosed属性)但是在这个中我不希望在关闭第一个fanybox之后显示第二个fanybox,我想在动作是时显示它完成.

jquery fancybox

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

ISNULL相当于Linq

我有一个列有一列的表现在IsActive我想得到一个具有给定状态的记录列表但我想处理IsActivenull值为false.在SQL中我们使用:

SELECT * FROM dbo.Table c WHERE ISNULL(IsActive, 0) = @act 
Run Code Online (Sandbox Code Playgroud)

如何使用LINQ做到这一点?

PS:我正在使用LINQ to Entities,因此我不能使用函数来转换值,如:

Table.Where(t=> Parse(t.IsActive) == act)

bool Parse(bool? val){
    return val == true? true : false;
}
Run Code Online (Sandbox Code Playgroud)

我能想到的方式是:

Table.Where(t=> (t.IsActive==null || t.IsActive == false) && act == false)
              || (t.IsActive==true && act == true));
Run Code Online (Sandbox Code Playgroud)

但这个解决方案似乎很差,我认为应该有更好的方法.

c# linq entity-framework

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

扩展功能不适用于动态对象

我有一个以ParseLong字符串命名的扩展函数.

public static long ParseLong(this string x, long Default = 0) 
{ 
if (!string.IsNullOrEmpty(x)) 
     long.TryParse(x, out Default);
 return Default; 
}
Run Code Online (Sandbox Code Playgroud)

工作正常:

long x = "9".ParseLong();
Run Code Online (Sandbox Code Playgroud)

但对于动态对象,例如:

dynamic x = GetValues();
x.StartValue.ToString().ParseLong();
Run Code Online (Sandbox Code Playgroud)

生成错误:

'string'不包含'ParseLong'的定义

c# extension-methods

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

列表总和太大,抛出溢出异常

我有一个高达2 000 000的素数列表.这是一个包含近15万个非常大的整数的列表.我想要一个所有数字的总和.这是一个随机的大整数列表,仅用于演示:

List<int> numbers = new List<int>();
for (int i = 0; i < 100; i++)
{
    numbers.Add(1000000000);
}
Console.WriteLine(numbers.Sum().ToString());
Run Code Online (Sandbox Code Playgroud)

我得到一个"算术运算导致溢出"异常.我猜这个总和太大了,但将它转换为Int64并没有帮助,它仍然会抛出相同的异常.

Console.WriteLine(Convert.ToUInt64(numbers.Sum()).ToString());
Run Code Online (Sandbox Code Playgroud)

我甚至尝试将总和保存到Int64变量然后使用它,但这也不起作用.

long sum = numbers.Sum();
Console.WriteLine(sum.ToString());
Run Code Online (Sandbox Code Playgroud)

是否有任何数据类型可以容纳这么大的数字,或者我是否在其他地方犯了错误?谢谢你的帮助.

.net c# linq math integer-overflow

4
推荐指数
3
解决办法
223
查看次数

使用C#将字符串插入SQL

我现在遇到了一个问题,我正在努力解决这个问题.我只是尝试访问数据库并在C#的帮助下插入一些值

我的代码:

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

builder.DataSource = "testtetstet.database.windows.net";
builder.UserID = "PW";
builder.Password = "000000000";
builder.InitialCatalog = "test";

using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
{
    String query = "INSERT INTO dbo.amir (theDate,Hostname,IP) VALUES (@theDate,@hostName, @IP)";

    using (SqlCommand command = new SqlCommand(query, connection))
    {
        command.Parameters.Add("@theDate");
        command.Parameters.Add("@hostName");
        command.Parameters.Add("@IP");

        connection.Open();
        var result = command.ExecuteNonQuery();

        // Check Error
        if (result < 0)
            Console.WriteLine("Error inserting data into Database!");
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的是,在sql数据库中插入3个字符串,但似乎它不起作用!!

"@hostname"是包含计算机名称的字符串"@IP"是包含IP地址的字符串"@theDate"是显示日期和时间的DateTime字符串.

我究竟做错了什么?

.net c# sql database azure

4
推荐指数
2
解决办法
498
查看次数

使用nosql数据库作为sql server的替代品

我正在开发一个网站(如果成功的话)它将拥有一个快速增长的数据库(可能是太字节或更多).到目前为止我一直使用sql server并且对nosql一无所知.我刚刚发现nosql正在研究数据库大小,现在我不确定它是否能满足我的需求.我将拥有与sql-server相同的功能吗?

我的问题可能看起来很傻,因为我是nosql中的新手,但我只是想知道它是否不支持sql查询.我们怎么能这样做:

select *, (select name from cities where id = cityid) from users
Run Code Online (Sandbox Code Playgroud)

如何加入表格?使用类似存储过程,视图或类似的东西?

c# sql-server nosql

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

在 if 条件下尝试解析

我正在 ASP.NET C# 中获取查询字符串数据,我需要它的字符串值和 int.Parse 值(如果可以解析)。(在示例中,我跳过检查空值,因为它对我的问题没有影响)

value = Request.QueryString["value"];
id = int.TryParse(Request.QueryString["value"], out id) 
Run Code Online (Sandbox Code Playgroud)

上面的代码满足了我的需要,但我只是好奇是否可以用一句话来写它,所以我尝试了以下方法:

if (int.TryParse(Request.QueryString["value"], out id))) value=Request.QueryString["value"];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果无法解析字符串值,我不会得到它,但我会得到它的解析值。

有什么建议么?我的代码没有问题,我只是出于好奇而问是否可以用单行代码完成。

c#

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

通过QueryString设置区域性时,本地化有效,但在区域性中时则不起作用

这是我的路线:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
     name: "defaultWithCulture",
     template: "{culture=fa-IR}/{controller}/{action=Index}/{id?}");
        });
Run Code Online (Sandbox Code Playgroud)

但是当我使用链接时本地化有效:

http:// localhost:1776 / fa-IR / Home / About?culture = fa-ir

但不是什么时候

http:// localhost:1776 / fa-IR / Home /关于

为什么路线中的文化不适用?

.net c# asp.net routing asp.net-core

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

正则表达式接受部分匹配

我有一些验证代码,用于检查正则表达式的字符串.

Regex regex = new Regex(RegexPattern);
if (!regex.IsMatch(value))
{
    errorMessage = "The data is not in the correct format.";
    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果我将正则表达式模式设置为^[0-9]*.[0-9]*.[0-9]*.[0-9]*$,则它正确接受1.0.0.0; 但是,它也接受1.0.0..

如何修改模式以便1.0.0.0接受但1.0.0.被拒绝?

.net c# regex asp.net

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

对于每个第N个值,C#将1D数组拆分为2D数组

我有一维一维的数组:

int[] array = { 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32,33, 34,40,41,42,43, 44};
Run Code Online (Sandbox Code Playgroud)

我想将这个1D数组划分为4行5列的2D数组,其中前5个值进入第1行,后5个进入第2行,依此类推.最终结果应如下所示:

array2D:

[[10, 11, 12, 13, 14]
[20, 21, 22, 23, 24]
[30, 31, 32, 33, 34]
[40, 41, 42, 43, 44]]
Run Code Online (Sandbox Code Playgroud)

实际上,阵列将更长(可能超过100行),但列数为5,行数可以分为5.我已经简化了例如.这是我到目前为止所尝试的:

int[] array = { 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32,33, 34,40,41,42,43, 44};
int[,] array2D = new int[(array.Length/5),5];

int count_0 = 1;
int count_1 = 1;
int count_2 = 1;
int …
Run Code Online (Sandbox Code Playgroud)

.net c# arrays winforms

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