如何从处于编辑模式的GridView行获取基础DataItem,并且用户单击"更新"?
我有一个可编辑的GridView.我已将CustomValidator添加到其中一列的Edit视图中.当用户单击Update I时,运行服务器验证方法并需要获取正在编辑的行的基础DataItem,以便我可以获取数据项的主键以用于验证.
GridView1.Rows[GridView1.EditIndex].DataItem;
Run Code Online (Sandbox Code Playgroud)
这不起作用.我猜是因为GridView没有在update命令上进行数据表示?
我似乎无法让Python在子文件夹中导入模块.当我尝试从导入的模块创建类的实例时,我收到错误,但导入本身成功.这是我的目录结构:
Server
-server.py
-Models
--user.py
Run Code Online (Sandbox Code Playgroud)
这是server.py的内容:
from sys import path
from os import getcwd
path.append(getcwd() + "\\models") #Yes, i'm on windows
print path
import user
u=user.User() #error on this line
Run Code Online (Sandbox Code Playgroud)
和user.py:
class User(Entity):
using_options(tablename='users')
username = Field(String(15))
password = Field(String(64))
email = Field(String(50))
status = Field(Integer)
created = Field(DateTime)
Run Code Online (Sandbox Code Playgroud)
错误是:AttributeError:'module'对象没有属性'User'
我创建了一个源自 TGraphicControl 的 delphi 组件。是否可以添加对鼠标滚轮的支持?
- - 编辑 - -
我已经公开了如下所示的 MouseWheel 事件,但它们没有被调用。
TMyComponent = class(TGraphicControl)
published
property OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
end;
Run Code Online (Sandbox Code Playgroud)
- - 编辑 - -
正如下面所建议的,我试图捕获 WM_MOUSEWHEEL 和 CM_MOUSEWHEEL 消息,但它似乎不起作用。但是我设法捕获了 CM_MOUSEENTER 消息。我不明白为什么我可以捕获一种类型的消息,而不能捕获另一种。
在按类型对音乐进行分类时,我发现维基百科比其他大多数数据源都有更多有趣的类型信息.
我似乎记得有一个数据库从维基百科收集这类信息并使其更容易访问,但我今天无法谷歌.
如果我要尝试检索此数据,我有哪些选择?有没有像我描述的那样或者我需要进行屏幕刮擦?
在C#字符串变量中搜索HTML以查找特定单词/短语并用突出显示标记(或换行)该单词/短语的最佳方法是什么?
谢谢,
杰夫
如何从Active Directory查询用户信息?我有适用的代码,但它确实很慢.我正在使用C#.这是我目前使用的代码:
static void Main(string[] args)
{
SearchResultCollection sResults = null;
try
{
//modify this line to include your domain name
string path = "LDAP://EXTECH";
//init a directory entry
DirectoryEntry dEntry = new DirectoryEntry(path);
//init a directory searcher
DirectorySearcher dSearcher = new DirectorySearcher(dEntry);
//This line applies a filter to the search specifying a username to search for
//modify this line to specify a user name. if you want to search for all
//users who start with k - …
Run Code Online (Sandbox Code Playgroud) 我想确保通过查询字符串设置的文件路径不会超出所需的子目录.现在,我正在检查:
/
" 开头,以防止用户给出绝对路径...
",以防止用户提供所需子目录之外的路径.:
",以防止使用URL(即" http://
"," ftp://
"等).我是否应该在Windows服务器上运行此脚本(不太可能),这也将阻止以驱动器说明符(即" C:\
")开头的绝对路径.注意:我知道冒号是Unix文件名中的有效字符,但我永远不会在文件名中使用它.\
" 开头.为了防止我改变主意在Windows服务器上运行,这可以防止指定Windows网络路径(即" \\someserver\someshare
").同样,我知道反斜杠是一个有效的Unix文件名字符,但我也不会在任何文件名中使用它.这些检查是否足够?
背景
我有一个PHP脚本,它(通过查询字符串)获取要显示给用户的示例源文件的路径.所以我可能会给他们一个像" view_sample.php?path=accounting_app/report_view.php
"或" view_sample.php?path=ajax_demo/get_info.js
" 这样的链接.
脚本看起来基本上是这样的:
$path = $_GET['path'];
if(path_is_valid($path) && is_file("sample/$path"))
{
header('Content-Type: text/plain');
readfile("sample/$path");
}
Run Code Online (Sandbox Code Playgroud)
我担心的是,恶意用户会看到该网址,并尝试执行类似" view_sample.php?path=../../database/connection_info.php
"的操作,并获取对不在 "sample"目录中的文件的访问权限.
我在上面定义的四个检查(将在path_is_valid()
功能中实现)是否足以锁定恶意用户?(另外,我认为支票1,3和4基本上是无关紧要的,因为我在前面设置相对路径,但是如果我不这样做,那么检查是否足够?)
讨论IDisposable
模式的指南/注释/文章都没有提出应该null
在Dispose(bool)
方法中设置内部成员(特别是如果它们是内存占用的野兽).
在调试内部基准测试工具时,我逐渐意识到它的重要性.过去常见的是,这个缓冲区内部包含一个大数组.我们过去常常为整个基准程序使用静态缓冲区.一旦我们完成缓冲区,我们就无法释放这个内部数组,也不能让这个缓冲区可释放(因为它是静态的).
所以,我相信,在Dispose()
调用之后,类应该尽其所能,以便它释放它正在使用的所有资源并使它们再次可用,即使被处理的对象本身没有被GC收回,也没有设置因此,成员为null,不允许GC收集内部对象意味着Dispose实现并不完美.
你对此有何看法?
我很难理解GIT的一些东西.
我们有一个包含许多分支的存储库.我可以获取其中一个分支的本地副本(git checkout -b ...),进行一些更改,然后将它们推回.但是,如果我没有标记分支的结尾,那么其他用户如何获得分支的负责人?当他们使用git checkout获取分支时,他们会在分支点获取代码 - 而不是该分支的头部.
我在这里错过了什么?
编辑:我很晚才进入这个项目并参与了CVS到GIT的转换.我假设FOO_3_4_0001 ...标记沿着分支的所有标记点用FOO_3_4_0001_INITIAL开始.我怎么检查?
编辑2:感谢所有贡献答案的人.事实证明,标签FOO_3_4_0001不在3.4分支上,这就是我一直缺少的.我已经安排了私刑派对.
@ghoseb,没用.我试过这个:
16:19:29 (1) foo $ git checkout --track -b FOO_3_4_0001_INITIAL origin/FOO_3_4_0001_INITIAL
Branch FOO_3_4_0001_INITIAL set up to track remote branch refs/remotes/origin/FOO_3_4_0001_INITIAL.
Switched to a new branch "FOO_3_4_0001_INITIAL"
16:19:36 (1) foo $ git branch
* FOO_3_4_0001_INITIAL
master
16:19:39 (1) foo $ git pull
remote: Counting objects: 68, done.
remote: Compressing objects: 100remote: % (59/59), done.
remote: Total 61 (delta 18), reused 0 (delta 0)
Unpacking objects: 100% (61/61), done.
From …
Run Code Online (Sandbox Code Playgroud)