小编AJ.*_*AJ.的帖子

MVC4:两个单选按钮,用于单个布尔模型属性

我试图为互斥的单选按钮找到正确的Razor语法,这两个按钮都反映了模型上布尔属性的值.我的模型有这个:

public bool IsFemale{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我想用两个单选按钮显示它,一个是"男性",另一个是"女性",但到目前为止我尝试过的所有东西都没有反映出IsFemale该模型属性的实际价值.目前,我有这个:

@Html.RadioButtonFor(model => model.IsFemale, !Model.IsFemale) Male
@Html.RadioButtonFor(model => model.IsFemale, Model.IsFemale) Female
Run Code Online (Sandbox Code Playgroud)

如果我更改和更新,这似乎正确地保持了值,但没有将正确的值标记为已选中.我确定这是愚蠢的,但我被卡住了.

asp.net-mvc radiobuttonfor razor asp.net-mvc-4

50
推荐指数
2
解决办法
8万
查看次数

ASP.NET MVC 4 - for循环发布模型集合属性,但foreach没有

说我有以下型号:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Town
{
    public string Name { get; set; }
    public IEnumerable<Person> People { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的Razor视图中,我有这个:

@model Town
@using(Html.BeginForm())
{
    <table>
        @foreach(var person in Model.People)
        {
            <tr>
                <td>@Html.TextBoxFor(m => person.Name)</td>
                <td>@Html.TextBoxFor(m => person.Age)</td>
            </tr>
        }
    <table>
    <input type="submit" />
}
Run Code Online (Sandbox Code Playgroud)

然后,我有一个POST的动作,如下所示:

[HttpPost]
public ActionResult Index(Town theTown)
{
    //....
}
Run Code Online (Sandbox Code Playgroud)

当我发布时,IEnumerable<Person>没有遇到.如果我在Fiddler中查看它,该集合只发布一次,并且不会枚举该集合,所以我得到:

People.Name = "whatever"
People.Age …
Run Code Online (Sandbox Code Playgroud)

foreach razor asp.net-mvc-4

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

Oracle PL/SQL - NO_DATA_FOUND异常对存储过程性能有害吗?

我正在编写一个存储过程,需要在其中进行大量调整.根据C#.NET编码的一般知识,异常会损害性能,我总是避免在PL/SQL中使用它们.我在这个存储过程中的条件主要围绕是否存在记录,我可以用两种方法之一:

SELECT COUNT(*) INTO var WHERE condition;
IF var > 0 THEN
   SELECT NEEDED_FIELD INTO otherVar WHERE condition;
....
Run Code Online (Sandbox Code Playgroud)

-要么-

SELECT NEEDED_FIELD INTO var WHERE condition;
EXCEPTION
WHEN NO_DATA_FOUND
....
Run Code Online (Sandbox Code Playgroud)

第二种情况对我来说似乎更优雅,因为那时我可以使用NEEDED_FIELD,我必须在第一种情况下的条件之后的第一个语句中选择.更少的代码.但是如果存储过程使用COUNT(*)运行得更快,那么我不介意再输入一点来弥补处理速度.

任何提示?我错过了另一种可能吗?

编辑 我应该提到这已经嵌套在FOR LOOP中了.不确定这是否与使用游标有所不同,因为我认为我不能将光标作为FOR LOOP中的选择进行DECLARE.

sql oracle plsql exception

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

Oracle - 用于获取两个DateTime列之间的分钟差异的最佳SELECT语句?

我正在尝试从客户端完成一个相当困难的报告请求,我需要找到它以在几分钟内获得两个DateTime列之间的差异.我试图使用各种格式的截断和圆形,似乎无法想出一个有意义的组合.有一种优雅的方式来做到这一点?如果没有,有没有办法做到这一点?

sql oracle datediff

20
推荐指数
2
解决办法
14万
查看次数

有没有办法通过反射获得类型的别名?

我正在编写一个简单的代码生成应用程序来从DB2数据库模式构建POCO.我知道这没关系,但我更喜欢使用类型别名而不是实际的系统类型名称(如果它们可用),即"int"而不是"Int32".有没有办法使用反射,我可以得到一个类型的别名,而不是它的实际类型?

//Get the type name
var typeName = column.DataType.Name;

//If column.DataType is, say, Int64, I would like the resulting property generated
//in the POCO to be...

public long LongColumn { get; set; }

//rather than what I get now using the System.Reflection.MemberInfo.Name property:

public Int64 LongColumn { get; set; }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

.net c# reflection

19
推荐指数
3
解决办法
4748
查看次数

String.IsNullOrEmpty类似于SQL中VARCHAR的函数?

假设我有一个函数或存储过程,它接受几个VARCHAR参数.我已经厌倦了这样写SQL来测试这些参数是否有值:

IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0
BEGIN
    -- do stuff
END
Run Code Online (Sandbox Code Playgroud)

必须有一个更好的方法来做到这一点.不存在吗?

t-sql sql-server

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

iSeries DB2 - 有没有办法从insert语句中选择标识值?

我知道我们很少见,我们这些穷人正在使用iSeries for DB2/AS400,但我希望有人可以回答这个简单的问题.有没有办法在不使用两行SQL的情况下从insert语句返回标识值?我被迫在C#中使用内联SQL来执行插入,然后我需要使用为插入生成的标识.简而言之,我需要iSeries DB2等同于Oracle的"RETURNING".也就是说,

INSERT INTO AwesomeTable (column1, column2, etc.)
    VALUES (value1, value2, etc.)
    RETURNING something;
Run Code Online (Sandbox Code Playgroud)

任何人?提前致谢.

编辑:除非有人知道我可以在一个IBM.Data.DB2.iSeries.iDB2Command(不是存储过程)中执行两行SQL,我想在一行SQL中执行此操作

sql db2 ibm-midrange

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

为什么IntelliSense会将功能更改为功能?

我有一个非常奇怪的IntelliSense问题,我不确定它是Visual Studio 2013还是ReSharper 8.1.当我在script标签(javascript)中的视图(cshtml)中工作时,某些东西不断地将"功能"改为"功能",大写字母为"F".

<script type="text/javascript">
    var something = function() .... //on tab or completing the ()'s, it changes to Function
</script>
Run Code Online (Sandbox Code Playgroud)

当然,这不是什么大不了的事,但是我不得不回到小写的"F",这已经成为我的痛苦.有谁知道为什么会这样?

我正在使用ReSharper 8.1 C#版运行Visual Studio 2013 Ultimate.

resharper intellisense javascript-intellisense visual-studio-2013 resharper-8.0

17
推荐指数
3
解决办法
1283
查看次数

使用"基础"不良做法,即使它可能有利于可读性?

我知道这是一个主观问题,但我总是对编码风格的最佳实践感到好奇.在实现类中调用基本方法之前,ReSharper 4.5给出了关键字"base"的警告,即

base.DoCommonBaseBehaviorThing();
Run Code Online (Sandbox Code Playgroud)

虽然我很欣赏"越少越好"的心态,但我也花费了大量时间来调试/维护高度链接的应用程序,并且感觉通过查看成员调用对于基础对象可能会有所帮助.当然,改变ReSharper的规则很简单,但你们怎么想?在调用基础成员时应该使用"base"吗?

c# resharper coding-style

12
推荐指数
3
解决办法
1330
查看次数

有没有办法让LinqPad使用EF Core上下文?

我试图找出是否存在我缺少的东西,或者某种方式来解决DbContextsLinqPad中对Entity Framework Core缺乏支持的问题.我已经编译了我的代码目标4.6.1(如LinqPad论坛上建议的)并尝试了"Entity Framework V7"驱动程序,但顾名思义,我不相信它是最新的.它仍然要求app.config文件或构造函数的连接字符串.

添加上下文对话框

由于EF Core上下文DbContextOptions用于构造而不是连接字符串,我以为我可能会创建一个构造函数重载,它接受一个连接字符串,但是它不处理底层数据库驱动程序.有没有办法指定工厂来构建上下文?还有其他可能吗?没有LinqPad,我感到很失落.

linqpad entity-framework-core

12
推荐指数
2
解决办法
3004
查看次数