我有一个HtmlTextArea,我想限制用户可以输入的字符数为500.
目前我使用了RegularExpressionValidator ......
RegularExpressiondValidator val = new RegularExpressiondValidator ();
val.ValidationExpression = "^.{0,500}$";
val.ControlToValidate = id;
val.ErrorMessage = "blah";
Run Code Online (Sandbox Code Playgroud)
...当文本输入单行时,这很好,但只要文本包含新行字符(即多行),它就会立即失败验证.
我意识到有不同的正则表达式引擎,我需要用.NET测试一个(有人能指出我在网上的好方向吗?)但我尝试过其他一些东西,包括前置"(?m) "到我的表达式字符串,并用\ A和\ Z替换^和$,但到目前为止没有运气.
另一个相关的问题是,我可以避免使用正则表达式并将此验证器链接到我自己的验证函数吗?
我正在开发一个Windows shell扩展,不幸的是,在更改DLL时,我必须重新启动Windows资源管理器(因为它将DLL保存在内存中).
我从Dino Esposito找到了这个程序,但它对我不起作用.
void SHShellRestart(void)
{
HWND hwnd;
hwnd = FindWindow("Progman", NULL );
PostMessage(hwnd, WM_QUIT, 0, 0 );
ShellExecute(NULL, NULL, "explorer.exe", NULL, NULL, SW_SHOW );
return;
}
Run Code Online (Sandbox Code Playgroud)
有人可以分享他们可以分享的东西吗?
PS我意识到我可以去任务管理器并杀死资源管理器进程,但我只是想以懒惰的方式去做.此外,这可实现自动化.
PPS我使用.NET进行开发,但shell重启功能可以是C,C++或.NET语言.它只是一个小的独立可执行文件.
我有一本简单的联系簿.该应用程序有一个主窗口,它是一个mdi形式.当使用"添加联系人"表单添加联系人时,我想在父窗口状态栏中显示一条简单的反馈消息,说明联系人已成功添加.
这是孩子装:
Private Sub addButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addButton.Click
Dim af As New addForm
af.MdiParent = Me
af.Show()
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是,由于父实际上是一个mdi父代,并且启动了"添加联系人"表单.Show()而不是.ShowDialog(),我无法存储启动Sub执行操作时可以使用的任何返回值.
有没有办法将这个孩子的值传递给mdi父级?这是儿童形式做的事情:
Private Sub addButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addButton.Click
Dim contact = <contact>
<quickName><%= quickNameTextBox.Text %></quickName>
<firstName><%= firstNameTextBox.Text %></firstName>
<lastName><%= lastNameTextBox.Text %></lastName>
<email><%= emailTextBox.Text %></email>
<website><%= websiteTextBox.Text %></website>
<telephone><%= telephoneTextBox.Text %></telephone>
<mobile><%= mobileTextBox.Text %></mobile>
</contact>
Dim contactList = XDocument.Load("contactList.xml")
contactList.Elements()(0).Add(contact)
contactList.Save("contactList.xml")
//something here to trigger the …Run Code Online (Sandbox Code Playgroud) 我的活动中有以下代码btn_click:
Sqlconnection con = new Sqlconnection("server=.;database=bss;user id=ab;pwd=ab");
con.open();
SqlCommand cmd = new Sqlcommand("select * from login where username='"
+ txt4name.Text + "' and pwd='" + txt4pwd.Text + "'", con);
SqlDataReader reader = cmd.execute Reader();
Run Code Online (Sandbox Code Playgroud)
login桌子在哪里username,pwd是它的领域.在此代码之后,所有值都存储在reader对象中.我想存储username和pwd单独的变量.
我怎么能做到这一点?
我目前的宠物项目是一个独立于语言的数据库迁移库(Google Code上的Wizardby).它几乎受到ActiveRecord Migrations的启发,但有一些细节.例如,做一些基本的"类型推断",因此您不必指定FK列的类型.只有"升级"序列才能生成"降级"脚本.尽管迁移是使用特殊的DSL编写的,但此工具主要针对.NET项目.它也是独立于数据库平台的.
以下是语法的快速浏览:
migration "Blog" revision => 1:
type-aliases:
type-alias N type => String, length => 200, nullable => false, default => ""
defaults:
default-primary-key ID type => Int32, nullable => false, identity => true
version 1:
add table Author:
FirstName type => N
LastName type => N
EmailAddress type => N, unique => true
Login type => N, unique => true
Password type => Binary, length => 64, nullable => true
add table Tag:
Name type …Run Code Online (Sandbox Code Playgroud) 可能重复:
克隆JavaScript对象的最有效方法是什么?
我需要复制一个(有序的,非关联的)对象数组.我正在使用jQuery.我最初尝试过
jquery.extend({}, myArray)
Run Code Online (Sandbox Code Playgroud)
但是,当然,这给了我一个对象,我需要一个数组(顺便说一句,真的很喜欢jquery.extend).
那么,复制数组的最佳方法是什么?
在ASP.NET 2.0网页或Web服务中编写最小错误日志的最佳方法是什么?对于我的目的,如果这是vanilla,那将是最好的,并且实现将通过IIS的虚拟目录.我目前正在使用标准的TextWriterTraceListener,但它似乎没有写入虚拟目录.
仅供参考 - TextWriterTraceListener的配置如下:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData=".\VirtualDirectory\SomeLog.log" />
</listeners>
</trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
我感谢您的帮助!
我正在收到用户的报告和投诉,他们将使用屏幕并在下次请求时立即返回登录屏幕.它不会一直发生,而是随机发生.查看Web服务器后,应用程序事件日志中显示的错误是:
事件代码:4005事件消息:请求的表单身份验证失败.原因:提供的故障单已过期.
我读到的一切都是从人们询问网络花园或负载平衡开始的.我们没有使用其中任何一种.我们是一个带有IIS6的Windows 2003(32位操作系统,64位硬件)服务器.这是该服务器上唯一的网站.
此行为不会向用户生成任何应用程序异常或可见问题.他们刚刚被启动回登录屏幕并被迫登录.你可以想象这对我们的用户来说非常烦人并且适得其反.
这是我在web.config中为root中的应用程序设置的内容:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx"
defaultUrl="~/MyHome.aspx"
path="/"
slidingExpiration="true"
requireSSL="false" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
我还读到,如果你有一些不再存在的位置设置或者是假的,你可能会遇到问题.我的路径属性都是有效的目录,所以不应该是问题:
<location path="js">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="anon">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="App_Themes">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="NonSSL">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
我唯一不清楚的是,我的auth票证的forms属性中的超时值是否必须与我的会话超时值(在IIS中的应用程序配置中定义)相同.我读过一些事情,说你应该让认证超时(40)比会话超时(45)更短,以避免可能出现的并发症.无论哪种方式,我们都有用户在最后一次操作后的一两分钟内被踢到登录屏幕.所以会议肯定不会到期.
更新2/23/09:我已经将会话超时和身份验证票据超时值设置为45,问题似乎仍然存在.
应用程序中唯一的其他web.config位于托管社区服务器的1个虚拟目录中.web.config的身份验证设置如下:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx" …Run Code Online (Sandbox Code Playgroud) authentication session iis-6 forms-authentication asp.net-2.0
我正在尝试用vim编辑文件并自动折叠POD(只是POD,而不是Perl).
我无法让它工作,所以我尝试禁用我的所有插件和我的.vimrc:
__PRE__
我假设我的POD在我的项目中以"= head1","= head2"或"= head3"开头.他们总是以'= cut'结束.
然后,在命令模式下,我键入以下类型:
__PRE__
这是识别POD,因为POD变为白色,而语法高亮显示的其余部分仍然存在,但它不会折叠POD.
我已经尝试了以上各种组合:
__PRE__
和:
__PRE__
但没有运气.
我知道折叠本身是有效的,因为我可以手动突出显示线条并输入'zF'并正确折叠.
任何人都可以阐明这一点吗?更重要的是,我该如何调试呢?
我想开始使用Cygwin,但我对字体颜色不满意,并希望将其更改为浅绿色,背景为黑色.
(我试着谷歌搜索无效BTW)