当我尝试使用Asp.Net MVC 2中的创建样式操作创建实体时,会发生这种情况.
POCO具有以下特性:
public int Id {get;set;}
[Required]
public string Message {get; set}
Run Code Online (Sandbox Code Playgroud)
在创建实体时,会自动设置Id,因此在Create操作中不需要它.
ModelState表示"需要Id字段",但我没有将其设置为如此.这里有自动发生的事吗?
编辑 - 原因显示
Brad Wilson通过Paul Speranza在下面的一条评论中回答了这个问题的原因,他说(欢呼保罗):
你提供了身份证的价值,你只是不知道你是谁.它位于默认路由的路由数据中("{controller}/{action}/{id}"),其默认值为空字符串,对int无效.使用action参数的[Bind]属性排除ID.我的默认路由是:new {controller ="Customer",action ="Edit",id =""} //参数默认值
编辑 - 更新模型技术
我实际上通过使用TryUpdateModel和与之相关的exclude参数数组改变了我再次这样做的方式.
[HttpPost]
public ActionResult Add(Venue collection)
{
Venue venue = new Venue();
if (TryUpdateModel(venue, null, null, new[] { "Id" }))
{
_service.Add(venue);
return RedirectToAction("Index", "Manage");
}
return View(collection);
}
Run Code Online (Sandbox Code Playgroud) 计划写一个死的简单的android应用程序
它基本上是一个图像查看应用程序.
我预装了10张图片.每次滑动(向左或向右)都会导致图像切换.
就是这个!
所以我看了很多android网站,找不到这方面的单一教程.Anddev.org提供了有关显示图形的教程,但那是在2008年,许多人报告了由于版本更改而导致的错误.
我也在寻找CommonsWare网站,他们有3本书,每年40美元.我查看了内容,但看不到任何符合我打算编写的内容.此外,这些书还谈论了很多其他的东西,如GPS,HttpRequests,服务器,数据库 - 在我的案例中我都不需要.
关于我应该如何解决这个问题的任何提示?
或者你们已经写过类似的东西吗?
目前我正在用 php 将文件写到一个目录中,我添加该目录(工作正常),然后当我尝试执行 svn commit 时,它不起作用也不返回任何类型的错误代码。有人对此有任何想法吗?
$tmp = exec('cd '.$this->build_locations[$this->type].'; svn commit --username user --password pw; ls', $output);
Run Code Online (Sandbox Code Playgroud)
我执行 cd 到目录(这里的 ls 工作正常吗),之后我执行 ls 来确认它仍然在目录中。
我也尝试过:
svn help
Run Code Online (Sandbox Code Playgroud)
它会很好地返回所有命令(所以我知道这不是找不到 svn 命令的问题。
我已经对文件 777 进行了 chmod 操作以确认它可以执行。
编辑后的代码:
$output = array();
$tmp1 = exec("cd ".$this->build_locations[$this->type].";");
$tmp = exec("svn commit ".$this->build_locations[$this->type].$this->app_id." --username user --password password -m 'test' --non-interactive --trust-server-cert --quiet 2>&1;", $output, $error);
if($error){
echo('<pre>');
print_r($output);
echo('</pre>');
}
exit;
Run Code Online (Sandbox Code Playgroud)
这会产生:
Array
[0] => could not lookup DNS configuration info service: (ipc/send) invalid …Run Code Online (Sandbox Code Playgroud) 对于错误消息,验证错误等
ModelState.AddErrorMessage("Fool!");
Run Code Online (Sandbox Code Playgroud)
但是,你在哪里提出成功回应,例如"你成功地向你的前任转移了很多钱".+"你的余额现在为零".我仍然希望在控制器级别设置它,最好是以键值方式设置它,就像错误消息一样,但不会使模型状态失效.
这通常是怎么做的?ViewData的?
我很想能够做到这一点:
class myInt : public int
{
};
Run Code Online (Sandbox Code Playgroud)
为什么我不能?
我为什么要这样?更强的打字.例如,我可以定义两个类intA和intB,这让我做intA + intA或intB + intB,但不是intA + intB.
"Ints不是课程." 所以呢?
"Ints没有任何会员数据." 是的,他们有,他们有32位,或其他什么.
"Ints没有任何会员功能." 好吧,他们有很多像+和的运营商-.
建议我有一个模板功能,如下所示:
template<class T>
void doSomething()
{
T a; // a is correctly initialized if T is a class with a default constructor
...
};
Run Code Online (Sandbox Code Playgroud)
但是如果T是原始类型,则变量a未初始化.我可以写T a(0),但如果T是一个类,这不起作用.有没有办法在两种情况下初始化变量(T == class,T == int,char,bool,...)?
假设我想创建一个sql脚本并执行以下操作:
DECLARE @SomeVariable int
SET @SomeVariable = 'VALUE'
FROM someTable
--do stuff with @SomeVariable
GO
CREATE PROCEDURE myProcedure
(
@MyParameter
)
AS
SET NOCOUNT ON
--Do something
--Do something using @SomeVariable
SET NOCOUNT OFF
RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)
我不能,因为@SomeVariable死于他所属的批次,而myProcedure需要自己的批次.显然我可以创建一个#temp表并填充我需要的任何值,但是我必须从中选择 - 添加代码,尽管是微不足道的,但是当我需要的只是一个全局变量时,它会损害可读性并且看起来很愚蠢.有没有更好的办法?
要痛苦地清楚.我知道SQL Server有"全局变量"称为"表" - 我在上面的段落中提到使用#table是一种可能的解决方案,就像使用实际的永久表一样.我在这里寻找的可能更多的是一个全局常量,我可以在给定的脚本中使用任何地方,而不是全局变量 - 所以我们都可以停止润湿我们的裤子关于全局变量的邪恶.
情况如下.通常我使用RAD Studio 2010进行Delphi开发.我有一些我想以二进制形式重新分发的组件(*.bpl没有源代码).但我希望人们能够使用它们,尽管他们的Delphi版本.但是,例如,dcu文件只能由生成它们的编译器版本使用.我知道,几乎相同的情况是bpl文件.每个bpl文件都需要相应的VCLXX.bpl库,具体取决于Delphi版本.如何使我在2010年编译的bpls能够在Delphi7,2007等中使用?
安装所有Delphi版本的唯一解决方案是在每个版本中单独编译bpl文件吗?
我正在编写以下方法来在C#中添加和删除活动目录中的用户.
void AddUserToGroup(string userId, string groupName);
void RemoveUserFromGroup(string userId, string groupName);
Run Code Online (Sandbox Code Playgroud)
如何最好地实现这些方法?
以下是CodeProject的一些代码.我在这些示例中看不到AD服务器的位置?(在使用LDAP协议时,它是由.NET框架隐式提供的吗?).这些例子值得关注吗?
public void AddToGroup(string userDn, string groupDn)
{
try
{
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
dirEntry.Properties["member"].Add(userDn);
dirEntry.CommitChanges();
dirEntry.Close();
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//doSomething with E.Message.ToString();
}
}
public void RemoveUserFromGroup(string userDn, string groupDn)
{
try
{
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
dirEntry.Properties["member"].Remove(userDn);
dirEntry.CommitChanges();
dirEntry.Close();
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//doSomething with E.Message.ToString();
}
}
Run Code Online (Sandbox Code Playgroud) 是否有可能在jQuery(或只是javascript但jQuery首选)中创建100%无缝选框?
我做了一个简单的选框,向左移动直到它离开屏幕然后只是跳到(在视线外)向右,然后重新开始.但是我希望它没有等待.
我能想到这样做的唯一方法是复制文本并将其放在第一个文本之后,然后再将它们交换掉.但是我不知道如何在jQuery中实现它,我一直在研究jQuery,.clone()但无法使它正常运行,一切都在跳跃.
有任何想法吗?
谢谢你的时间,
asp.net-mvc ×2
c# ×2
c++ ×2
.net ×1
android ×1
asp.net ×1
components ×1
delphi ×1
delphi-2010 ×1
exec ×1
inheritance ×1
integer ×1
javascript ×1
jquery ×1
ldap ×1
marquee ×1
modelstate ×1
php ×1
sql ×1
sql-server ×1
svn ×1
templates ×1
vcl ×1