小编Chr*_*tos的帖子

在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
查看次数

Razor @ Html.ValidationMessageFor()没有显示"验证错误消息"

@Html.RequiredLabelFor(x => x.FirstName)
@Html.TextBoxFor(model => model.FirstName, new { Name = "1.first_name", tabindex = "1" })
@Html.ValidationMessageFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)

将第二个参数传递给@Html.TextBox时是否有原因正在验证该字段但是没有出现"验证消息"?

@Html.RequiredLabelFor(x => x.FirstName)
@Html.TextBoxFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)

当使用只接受一个参数(lambda表达式)的重载时,"验证消息"正在正确显示.

据我所知,实际的财产没有得到承认?

支持财产:

[StringLength(100, ErrorMessage = "Max length 100 characters")]
[Required(ErrorMessage = "This field is required")]
[Display(Name = "First name")]
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc razor

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

参数数据类型文本对于下层函数的参数 1 无效

在我的应用程序的搜索功能中,我实现了一个搜索功能,该功能对数据库执行以下语句。

resultsquery = db.DBMovies.Where(m => (m.Actors.ToLower()).Contains(q.ToLower()))
Run Code Online (Sandbox Code Playgroud)

在部分中,q.ToLower()我读取了 url 参数q并将其转换为小写并在相关的数据库列中找到它。在我的数据库中,“Actors”列的类型是“text”而不是 varchar。当我运行我的应用程序时,我收到一个名为Argument data type text is invalid for argument 1 of lower function. 有什么办法可以避免这种异常吗?我更喜欢一种可以在一行中解决它的方法。

谢谢你。

c# sql sql-server lambda

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

数学运算在c#中无法正常工作

我刚开始学习C#,我正在尝试一个程序,它接受华氏温度并转换为摄氏温度,在第三步中将摄氏温度转换回华氏温度(以验证数学)我使用以下代码来执行上述操作功能

Console.Write("Enter Your Temperature in fahrenheit  : ");
float faren = float.Parse(Console.ReadLine());
float cel = (faren - 32)*(5/9);
float farenconv = 32 + (cel * 9 / 5);
Console.WriteLine("Orignal Temperature : " + faren);
Console.WriteLine("Converted in celsuis : " + cel);
Console.WriteLine("Converted Back in fahrenheit  : " + farenconv);
Run Code Online (Sandbox Code Playgroud)

现在问题是我得到cel = 0的输出无论如何,我输入华氏,但当我删除*(5/9)它工作正常,任何人都有任何线索.

c#

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

如何允许我的 WebAPI 模型接受空值?

我有以下模型类:

public class UserData
{
    public IList<bool> Checked { get; set; }
    public IList<int> Matches { get; set; }
    public int TestQuestionId { get; set; }
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

来自我客户的数据如下所示:

{"Checked":[true,true,false,false,false,false],"Matches":null,"TestQuestionId":480,"Text":null}
Run Code Online (Sandbox Code Playgroud)

如果某些数据可能不存在,我是否需要修改我的模型类?如果是这样,我该如何修改 IList ?

c# asp.net asp.net-mvc asp.net-web-api

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

如何在ASP.NET中将下拉列表与字符串数组绑定?

我能够通过这样做将下拉列表与字符串数组绑定(不确定这是否是正确的实现方式):

string[] items = { "111", "222", "333" };
ddlSearch.DataSource = items;
ddlSearch.DataBind();
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要的是:当我点击下拉列表时,列表中显示的第一个项目111后面跟着222333.

当我单击下拉列表按钮时,如何添加要在下拉列表中显示的文本字符串?

Java有一种简单的方法来添加要在列表中显示的项目,但是我们如何在C#中实现呢?(顺便说一句,我对C#很新.)

c# asp.net drop-down-menu

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

如何在LINQ中获取最后一个插入ID

我有两张桌子,user并且studentuser是父表student是子表

所以从下面的代码

public void adduserStudenttype(StudentAddUserModel s)
{
    using (DASEntities db = new DASEntities())
    {
        user u = new user();
        u.usersEmail = s.Email;
        u.usersPassword = s.Password;
        u.usersFname = s.Fname;
        u.usersUtype = s.UserType;
        db.user.Add(u);
        db.SaveChanges();
        
        student stud = new student();
        stud.studentID = \\ how to get the id in the user last insert
    }     
}
Run Code Online (Sandbox Code Playgroud)

我如何iduser表中获取最后插入的内容? id是表中的主键user

c# linq asp.net-mvc-4

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

如何在c#中使用DbContext删除对象?

我有这个删除方法:

private void btnDeleteOrderLine_Click(object sender, EventArgs e)
{
    OrderLine orderLine = (OrderLine)dgvOrderLine.SelectedRows[0].DataBoundItem;
    db.OrderLines.Remove(orderLine);
    db.SaveChanges();
    refreshGrid();
}
Run Code Online (Sandbox Code Playgroud)

当我单击该删除按钮时,我收到此错误:

无法删除该对象,因为在该对象中找不到该对象 ObjectStateManager.

我发现这是因为有两个Context类的实例.所以,我试过这个:

private void btnDeleteOrderLine_Click(object sender, EventArgs e)
{
    OrderLine orderLine = (OrderLine)dgvOrderLine.SelectedRows[0].DataBoundItem;
    db.OrderLines.Attach(orderLine);  // added this part
    db.OrderLines.Remove(orderLine);
    db.SaveChanges();
    refreshGrid();
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

多个实例不能引用实体对象 IEntityChangeTracker.

如何修复此问题并从Context DbSet中删除对象?

.net c# linq entity-framework winforms

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

等待SignInManager.PasswordSignInAsync()总是导致我的ASP.NET MVC项目失败

我目前正在实现登录我的ASP.NET MVC项目的能力.我尽可能多地使用提供的方法.

目前,我在我的数据库中设置了一个名为User的表,它存储了有关用户的所有用户名,密码和其他详细信息.

我的LoginViewModel:

public class LoginViewModel
{
    public User User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

AccountController(主要是默认的,我只更改了PasswordSignInAsync方法的变量)

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
    if (ModelState.IsValid)
    {
        return View(model);
    }
    // To enable password failures to trigger account lockout, change to shouldLockout: true
    var result = await SignInManager.PasswordSignInAsync(model.User.Username, model.User.Password, false , shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)

为什么这一行总是返回失败?

这是我第一次尝试添加登录功能,所以任何帮助都将非常感激.:)

c# asp.net asp.net-mvc asp.net-mvc-4

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

不是DateTime格式的日期时间格式的字符串

我有一个不是日期时间格式的字符串,例如:20160503.如何将其更改为Datetime.我尝试使用Substring.它正在运作.有更有效的方法吗?以下是我现在所拥有的.

string a = "20160503";
int b = Convert.ToInt32(a.Substring(0, 4));
int c = Convert.ToInt32(a.Substring(4, 2));
int d = Convert.ToInt32(a.Substring(6, 2));
string date = b + "/" + c + "/" + d;
DateTime result = new DateTime();
DateTime.TryParse(date, out result);
Run Code Online (Sandbox Code Playgroud)

c# string datetime type-conversion

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