我试图为互斥的单选按钮找到正确的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)
如果我更改和更新,这似乎正确地保持了值,但没有将正确的值标记为已选中.我确定这是愚蠢的,但我被卡住了.
说我有以下型号:
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) 我正在编写一个存储过程,需要在其中进行大量调整.根据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.
我正在尝试从客户端完成一个相当困难的报告请求,我需要找到它以在几分钟内获得两个DateTime列之间的差异.我试图使用各种格式的截断和圆形,似乎无法想出一个有意义的组合.有一种优雅的方式来做到这一点?如果没有,有没有办法做到这一点?
我正在编写一个简单的代码生成应用程序来从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)
提前致谢.
假设我有一个函数或存储过程,它接受几个VARCHAR参数.我已经厌倦了这样写SQL来测试这些参数是否有值:
IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0
BEGIN
-- do stuff
END
Run Code Online (Sandbox Code Playgroud)
必须有一个更好的方法来做到这一点.不存在吗?
我知道我们很少见,我们这些穷人正在使用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中执行此操作
我有一个非常奇怪的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
我知道这是一个主观问题,但我总是对编码风格的最佳实践感到好奇.在实现类中调用基本方法之前,ReSharper 4.5给出了关键字"base"的警告,即
base.DoCommonBaseBehaviorThing();
Run Code Online (Sandbox Code Playgroud)
虽然我很欣赏"越少越好"的心态,但我也花费了大量时间来调试/维护高度链接的应用程序,并且感觉通过查看成员调用对于基础对象可能会有所帮助.当然,改变ReSharper的规则很简单,但你们怎么想?在调用基础成员时应该使用"base"吗?
我试图找出是否存在我缺少的东西,或者某种方式来解决DbContexts
LinqPad中对Entity Framework Core缺乏支持的问题.我已经编译了我的代码目标4.6.1(如LinqPad论坛上所建议的)并尝试了"Entity Framework V7"驱动程序,但顾名思义,我不相信它是最新的.它仍然要求app.config文件或构造函数的连接字符串.
由于EF Core上下文DbContextOptions
用于构造而不是连接字符串,我以为我可能会创建一个构造函数重载,它接受一个连接字符串,但是它不处理底层数据库驱动程序.有没有办法指定工厂来构建上下文?还有其他可能吗?没有LinqPad,我感到很失落.
sql ×3
c# ×2
oracle ×2
razor ×2
resharper ×2
.net ×1
asp.net-mvc ×1
coding-style ×1
datediff ×1
db2 ×1
exception ×1
foreach ×1
ibm-midrange ×1
intellisense ×1
linqpad ×1
plsql ×1
reflection ×1
sql-server ×1
t-sql ×1