小编Chr*_*tos的帖子

RangeValidator中的日期格式

我正在使用RangeValidator验证日期输入文本框及其工作正常的默认日期格式,但现在我想要日期格式为"dd/MM/yyy",但它生成具有此日期格式的摘要.请给我解决方案我的代码:

在aspx页面中:

<asp:TextBox ID="txtrequiredby" runat="server" ></asp:TextBox >
<cc1:CalendarExtender ID="txtrequiredby_CalendarExtender" Format="dd/MM/yyyy"
runat="server" Enabled="True" TargetControlID="txtrequiredby" >
</cc1:CalendarExtender >

 <asp:RangeValidator ID="rvreqby" runat="server" ErrorMessage="Required By Date
Greater Than or Equal to current date" ControlToValidate="txtrequiredby" 
 Display="Dynamic" Type="Date" ></asp:RangeValidator >
Run Code Online (Sandbox Code Playgroud)

在codebehind中:

rvreqby.MinimumValue = clsGeneral.FromSqlDate( DateTime.Now);
rvreqby.MaximumValue = clsGeneral.FromSqlDate( DateTime.Now.AddYears(200));

public static string  FromSqlDate(DateTime  date)
{
   return date.ToString("dd/MM/yyyy");
}
Run Code Online (Sandbox Code Playgroud)

asp.net format datetime requiredfieldvalidator

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

在C#中选择linq中的case

我怎样才能将以下sql语句转换为linq

 select  AdsProperties.AdsProID,
         AdsProperties.IsActive,
         AdsProperties.Name,
           case
                when AdsProperties.ControlType =1 then -- TextBox
                  'Textbox'
                when AdsProperties.ControlType =2 then -- DropDown
                  'Dropdown'
                when AdsProperties.ControlType =3 then -- ConboBox
                  'ComboBox'
                else -- RadioButton
                  'RadioButtont'
           end as ControlType   
   from CLF.utblCLFAdsPropertiesMaster as AdsProperties
Run Code Online (Sandbox Code Playgroud)

我试过这个

var query = from AdsProperties in db.utblCLFAdsPropertiesMasters
            select new
            {
                AdsProperties.AdsProID,
                AdsProperties.Name,
                AdsProperties.IsActive,
                ControlType = AdsProperties.ControlType == 1 ? (int?)"TextBox" : null,
                ControlType = AdsProperties.ControlType == 2 ? (int?)"Dropdown" : null,
                ControlType = AdsProperties.ControlType == 3 ? (int?)"ComboBox" : null,                 
                ControlType …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

使用 Lambda (LINQ) 进行内连接

我正在尝试在 Lambda 表达式中编写以下 Linq (查询样式),以便我可以链接并使我的代码更加紧凑:

var result = from p1 in defaults
             join p2 in get on p1.PermissionName equals p2.PermissionName 
             into joined
             select new 
             {
                 PermissionName = p1.PermissionName, 
                 Permission = joined.Select(e => e.Permission == null ? false : true)
                                    .SingleOrDefault() 
             };
Run Code Online (Sandbox Code Playgroud)

我只能走到这一步:

var result = defaults.Join(get, defaultKey => 
                          defaultKey.PermissionName, getKey => 
                          getKey.PermissionName, (a, b) => new 
                          { 
                              PermissionName = a.PermissionName, 
                              Permission = b.Permission 
                          });
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,Join()扩展方法没有提供获取joined集合的方法。我也在网上搜索过,但找不到任何线索。请随意提出建议。

c# linq lambda

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

故事板适用于许多元素

我的WPF应用程序中有两个矩形.我点击元素时想播放动画.动画应仅应用于单击的矩形.使用下面的代码,当我点击一个矩形时,所有的形状都会被动画化.

我该怎么办??

Window.Resources>
    <ResourceDictionary>

            <LinearGradientBrush x:Key="ExecutionInitialization" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFC0FBBA"/>
                <GradientStop Color="#FF0FA000" Offset="1"/>
                <GradientStop Color="#FF0FA000"/>
            </LinearGradientBrush>

        <Storyboard x:Key="OnMouseLeftButtonDown1" RepeatBehavior="Forever">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Offset)" Storyboard.TargetName="rec1">
                <SplineDoubleKeyFrame KeyTime="0" Value="0.17"/>
                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="0.32"/>
                <SplineDoubleKeyFrame KeyTime="0:0:0.8" Value="0.5"/>
                <SplineDoubleKeyFrame KeyTime="0:0:1" Value="0.56"/>
                <SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </ResourceDictionary>


</Window.Resources>

<Grid>
    <Rectangle MouseDown="rec1_MouseDown" Name="rec1" Fill="{StaticResource ExecutionInitialization}" HorizontalAlignment="Left" Height="85.075" Margin="24.358,27.731,0,0" Stroke="Red" VerticalAlignment="Top" Width="156.717"/>

    <Rectangle MouseDown="rec2_MouseDown" Name="rec2" Fill="{StaticResource ExecutionInitialization}" HorizontalAlignment="Left" Height="113.433" Margin="246.746,141.164,0,0" Stroke="Black" VerticalAlignment="Center" Width="211.941"/>

</Grid>
Run Code Online (Sandbox Code Playgroud)

和c#

public MainWindow()
{
    InitializeComponent();
    animation = TryFindResource("OnMouseLeftButtonDown1") as Storyboard;
}

private void rec1_MouseDown(object sender, …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf

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

如何使用 linq 映射两个列表

如果我有这样的日期列表:

List<DateTime>  {5-10-2014,6-10-2014,7-10-2014}
Run Code Online (Sandbox Code Playgroud)

我有这样的会话列表:

List<int>  {1,2,3,4,5,6}
Run Code Online (Sandbox Code Playgroud)

考虑到每个日期按顺序有两个会话,如何将会话映射到日期(使用 linq)。


我想要这样的结果:

5-10-2014    1
5-10-2014    2
6-10-2014    3
6-10-2014    4
7-10-2014    5
7-10-2014    6
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net collections list

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

带派生参数的派生类和覆盖方法:如何更好地编码?

我有一个关于派生,多态和方法签名的问题

我有课

public abstract class PaymentMethod
{   
    public abstract float GetSalary (Employee employee,Vehicule vehicule)
}
Run Code Online (Sandbox Code Playgroud)

和另外两个人

public class MarinePaymentMethod : PayementMethod
{
    public override float GetSalary (Sailor sailor,Boat boat)
}

public class AirPaymentMethod : PayementMethod
{
    public override float GetSalary (Pilot pilot,Plane plane)
}
Run Code Online (Sandbox Code Playgroud)

我们还假设:

public class Sailor : Employee{}
public class Pilot : Employee{}
public class Boat: Vehicule{}
public class Plane: Vehicule{}
Run Code Online (Sandbox Code Playgroud)

所以,"问题"是这个代码不能编译,因为签名不一样.

我强制保留基本签名GetSalary(员工员工,Vehicule vehicule)

然后我必须投在派生付款方式,这样我可以使用的特定成员Pilot,Sailor,Boat,Plane在这些具体的付款方式.

我的第一个问题是:连续投射不是难闻的气味吗?

我的第二个问题是:如何制作更优雅的代码设计?我在考虑Generics,并创建一个这样的类:

public abstract class …
Run Code Online (Sandbox Code Playgroud)

c# generics polymorphism abstract-class overriding

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

带有数组的C结构的内存布局

假设我有一个C结构定义如下:

typedef struct 
{
  double array1[2];
} struct0_T;
Run Code Online (Sandbox Code Playgroud)

记忆是如何布局的?struct只能保持一个指针或两个双精度值吗?在我认为结构体有一个指针之前,但今天我发现(令我惊讶的是)值存储在那里.它在不同的编译器之间有所不同吗?

c memory arrays struct

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

如何在匿名委托中调用异步方法?

我有一个函数接受委托作为输入参数.

public delegate bool Callback();

public static class MyAPI
{
     public static handle(Callback callback) {
           ... 
     }
}
Run Code Online (Sandbox Code Playgroud)

所以我用这样的匿名代表调用api

MyAPI.handle(delegate
{
    // my implementation
});
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在匿名委托中调用异步方法?

MyAPI.handle(delegate
{
    // my implementation
    await MyMethodAsync(...);
});
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说'await'运算符只能在异步匿名方法中使用'?

函数MyAPI.handle()只期望非异步委托.我不能改变那种方法.我该如何解决我的问题?

谢谢.

c# async-await

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

tsql group by获取具有最大长度的字母数字列值

我有一个sql视图,让我们调用它SampleView,其结果具有以下格式.

Id (INT), NameA (VARVHAR(50)), NameB (VARCHAR(50)), ValueA (INT), ValueB (INT)
Run Code Online (Sandbox Code Playgroud)

视图的结果集包含可能具有相同Id或不相同的行.如果有两个或多个具有相同Id的行,我希望得到类似以下内容的内容

SELECT 
    Id,
    MAX(NameA),
    MAX(NameB),
    MAX(ValueA),
    MAX(ValueB)
FROM SampleView
GROUP BY Id
ORDER BY Id
Run Code Online (Sandbox Code Playgroud)

关于列Id,ValueAValueB没有任何问题.另一方面,MAX用于两者NameANameB事情并不像预期的那样.经过一些谷歌搜索和搜索后,我意识到这MAX不是字母数字列的"预期"行为.说出预期,我的意思是MAX在我的情况下使用,它将返回NameA最大字符数的值,MAX(LEN(NameA)).我在这里要提到的是,没有任何可能为相同长度NameA的相同值设置两个值Id.这可能会使问题更容易解决.

我使用SQL Server 2012和TSQL.

您对我如何处理这个问题有任何建议吗?

非常感谢您提前寻求帮助.

sql sql-server group-by max sql-server-2012

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

使用ASP .NET Core Identity和EntityFrameworkCore注册新用户时出现InvalidOperationException

我正在关注使用Identity文档并尝试注册一个新用户(执行注册操作),但它失败并出现以下错误:

InvalidOperationException:无法为"ApplicationUser"创建DbSet,因为此类型未包含在上下文的模型中.

启动:

services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
    //password options
    options.Password.RequireDigit = false;
    // ...
})
Run Code Online (Sandbox Code Playgroud)

我使用的是标准的ApplicationUser:

public class ApplicationUser : IdentityUser
{
}
Run Code Online (Sandbox Code Playgroud)

在AccountController中注册操作:

public async Task<IActionResult> Register(RegisterViewModel viewModel)
{
    if (ModelState.IsValid)
    {
        var user = new ApplicationUser { UserName = viewModel.UserName, Email = viewModel.Email };
        var result = await _userManager.CreateAsync(user, viewModel.Password); //<-- Exception happens here
        if (result.Succeeded)
        {
            await _signInManager.SignInAsync(user, isPersistent: false);
            _logger.LogInformation(3, "User created a new account with password.");
            return RedirectToAction(nameof(HomeController.Index), "Home");
        }

        string …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework asp.net-core-1.0 asp.net-core-identity

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