小编Xai*_*oft的帖子

如何以编程方式更改OnClientClick事件并调用它?

我有一个包含播放列表的ListView.如果用户想要编辑相册,他们会单击编辑链接,并允许他们删除或添加歌曲到播放列表.如果用户想要在保留原始播放列表的同时保存新播放列表,则会单击"另存为"按钮.这是应该发生的事情:

如果用户单击"另存为"并且他们没有更改名称,我想显示一条警告,告诉他们必须更改名称.

如果用户单击"另存为"并且他们已更改名称,我想显示他们确实要保存它的确认.

目前,正在发生的事情是,如果我在我的代码中放入类似下面的内容,脚本将不会注册,直到第二次单击和注册的任何脚本保持注册意味着如果我最终更改名称并且警报脚本已注册之前,它将显示警报而不是确认.这是代码:

if (newname == oldname)
{
    btnSaveAs.OnClientClick =
  "javascript:alert('Save As requires you to change the name of the playlist. Please
   change the name and try again.');";
}
else
{
    btnSaveAs.OnClientClick = "javascript:confirm('Are you sure you want to save the
    playlist" + newname + "?');";
}
Run Code Online (Sandbox Code Playgroud)

我也尝试添加返回false,因此它不会进行回发,但如果我这样做,那么当我在确认上单击OK时,它实际上并没有做任何事情.

javascript c# asp.net dom-events

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

转换为LINQ中的int不起作用?

以下查询抱怨不支持int转换.

var list = from d in data
           where d.Id == (int)GridView1.DataKeys[0].Value
           select d;
Run Code Online (Sandbox Code Playgroud)

它抱怨(int)GridView1.SelectedInex行告诉我不支持Int转换.我也尝试过Convert.ToInt32,但这也不起作用.

这个逻辑是否必须先计算在linq查询之上,或者是否有特殊的方法来执行它,如果没有,为什么它不支持它?

c# linq-to-sql

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

无法获得asp.net正则表达式验证器来处理空白密码?

我不想允许空白密码,但如果我将文本框留空,则在输入至少1个字符之前,正则表达式中的text属性不会显示.如何禁止密码为空?我尝试使用+符号而不是*符号,但它仍然无效.

<asp:RegularExpressionValidator 
                                ControlToValidate="txtPassword" 
                                Display="Dynamic"
                                runat="server" 
                                Text="Invalid" 
                                ValidationExpression="^(?=.*\d{1})(?=.*[a-zA-Z]{2}).{7,}$"
                                ValidationGroup="UserRegistrationValidation">
</asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud)

regex asp.net

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

在正则表达式中匹配0到60

什么是匹配数字0到60的正则表达式?不允许使用负数而且没有小数.

c# regex

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

为什么这个Microsoft单元测试失败?

我有一个单元测试,我从距离计算中存储在实际变量中的数字是6.07328028312884,但它仍然说测试失败了.为什么?

        double expected = 6.07328028312884; 
        double actual;
        actual = target.Distance((double)latitude, (double)longitude);
        actual = actual / 1000;

        Assert.AreEqual(expected, actual);
Run Code Online (Sandbox Code Playgroud)

c# asp.net unit-testing

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

公共类[接口]在vb.net中的含义是什么?

我在vb.net中看到了以下类声明:

Public Class [Interface] Implements TestInterface
Run Code Online (Sandbox Code Playgroud)

以上是什么意思?c#中有等价物吗?

vb.net

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

什么VB.NET舍入方法我需要调用ge来获得结果?

我有4个舍入选项:无,标准,向上,向下

如果他们选择None并且数字是108.7879,我只想显示108.78而没有舍入.我知道我可能会使用Math.Ceil for Up和Math.Floor for Down,但我不知道如何使用None或Standard.

如果他们选择标准:

106.78应该达到107

106.49应该向下舍入到106

如果他们选择Up:

106.49应该达到107

106.52应该达到107

如果他们选择Down:

106.78应该向下舍入到106

106.49应该向下舍入到106

vb.net

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

这是空尝试捕获的正当理由还是有更优雅的解决方案?

假设我有以下类层次结构:

Person对象包含Customer对象,Customer对象包含Address对象.

我不在乎客户是否有地址,但如果他们这样做,我想将其保存到数据库中.所以在这种情况下,拥有类似的东西是完美的:

try
{
     Address addr = person.Customer.Address;
     db.SaveAddress(addr);
}
catch
{
    //I don't care, but if it is there, just save it.
}
Run Code Online (Sandbox Code Playgroud)

在上面,我不在乎Customer是null还是Address为null.我有另一种选择

 if(person.Customer != null)
 {
     if(person.Customer.Address != null)
     {

     }
 }
Run Code Online (Sandbox Code Playgroud)

如果层次结构很长,上述情况可能会很长.是否有更优雅的方法来检查对象链是否为null而不必检查每个对象.

exception-handling

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

LINQ to XML 查询与大型 xml 字符串上的 Regex 的速度?

我有以下查询:

 Dim elementsWithPossibleCCNumbers As IEnumerable(Of XElement) = 
 xmlTree.Descendants().
 Where(Function(element) element.Attributes().
 Where(Function(attribute) attribute.Value.Length >= 13 
                           AndAlso attribute.Value.Length <=    
 16).
 Where(Function(attribute) Long.TryParse(attribute.Value, numeric)).Count() = 1).    
 [Select](Function(x) x)
Run Code Online (Sandbox Code Playgroud)

我最初是使用 Regex 搜索属性,但由于社区中的其他一些人告诉我这是更好的选择,我开始使用 LINQ to XML。我唯一担心的是,对于较大的 XML 字符串,LINQ to XML 查询的性能如何,它是否比 Regex 快?

我可以提高查询速度吗?

regex linq linq-to-xml

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

这个短路的if语句有什么问题?

我知道这可能真的很蠢,但我无法弄清楚为什么这个if语句失败了:

如果我进入12在控制台,第一个if语句失败,但如果我首先将结果存储在bool中,则第二个if语句失败.为什么?我可能在这里做一些蠢事?

Console.WriteLine("Enter 1 for AM or 2 for PM?"); 
string amOrPM = Console.ReadLine();

//Why does this fail if I enter 1 or 2?
if (amOrPM != "1" || amOrPM != "2") 
    Console.WriteLine("You must enter 1 for AM or 2 for PM. Try again.");

//This works!
bool valid = (amOrPM != "1" || amOrPM != "2"); 
if (!valid) 
    Console.WriteLine("You must enter 1 for AM or 2 for PM. Try again.");
Run Code Online (Sandbox Code Playgroud)

我刚注意到第一个if语句,我不得不把&&而不是||,但这很令人困惑,因为我把它读成:如果amOrPm不相等1amOrPM …

c#

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