我需要避免双击提交行为.我正在使用不显眼的库进行客户端验证.我有以下代码来避免双重clic:
jQuery.fn.preventDoubleSubmit = function () {
var alreadySubmitted = false;
return jQuery(this).submit(function () {
if (alreadySubmitted)
return false;
else {
alreadySubmitted = true;
}
});
};
jQuery('form').preventDoubleSubmit();
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果我的表单有一些可验证的字段(例如,必填字段),上面的代码仍然被触发,因此,即使我更正了表单上的任何错误,我也无法再次提交.
验证成功完成后,如何触发双击代码?
我想创建一个传递类型表达式的方法Expression<Func<T, string>
来创建类型的表达式Expression<Func<T, bool>>
来过滤字符串属性StartsWith
,EndsWith
并Contains
使用这些表达式之类的方法:
.Where(e => e.MiProperty.ToUpper().StartsWith("ABC"));
.Where(e => e.MiProperty.ToUpper().EndsWith("XYZ"));
.Where(e => e.MiProperty.ToUpper().Contains("MNO"));
Run Code Online (Sandbox Code Playgroud)
该方法应如下所示:
public Expression<Func<T, bool>> AddFilterToStringProperty<T>(Expresssion<Func<T, string>> pMyExpression, string pFilter, FilterType pFiltertype)
Run Code Online (Sandbox Code Playgroud)
其中过滤式是包含三个所提到的操作的枚举类型(StartsWith
,EndsWith
,Contains
)
我有两个反应应用程序(A-app,B-app)。我需要将一个组件从 A-app 导入到 B-app。但是当我尝试这样做时,我看到了这个错误。
./src/App.js
Module not found: You attempted to import ../../src/components/Dashboard/container which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.
Run Code Online (Sandbox Code Playgroud)
我试图在 B-app node_modules 中的这个组件上做符号链接。但它没有用。
我还尝试在根项目目录中创建 .env 文件并将其放入NODE_PATH=src/
文件中。但是这个解决方案也不起作用。
我怎样才能解决这个问题?
对不起我的英语不好。
我刚刚意识到,当我在布局页面上放置一个表单标签,围绕RenderBody部分时,不会生成不显眼的验证.像这样的东西:
@using (Html.BeginForm())
{
<input type="submit" value="save" />
<div>
@RenderBody()
</div>
}
Run Code Online (Sandbox Code Playgroud)
您可能已经猜到我想在我的内容上生成按钮.这是不正确的不引人注意的行为吗?
顺便说一句,如果我将表单放在特定页面中,一切都像魅力一样:data-val*属性生成良好.
我很感激你的宝贵帮助.
最好的祝福
罗德里戈
我正在使用Apache的log4net版本来记录东西
1.2.10.0 (with PublicTokenKey=1b44e1d426115821)
Run Code Online (Sandbox Code Playgroud)
但不幸的是,SAP Crystal Reports使用自己的这个库版本和另一个公共令牌密钥(使用他们自己的snk文件编译):
1.2.10.0 (with PublicTokenKey=692fbea5521e1304)
Run Code Online (Sandbox Code Playgroud)
相同版本,不同的公共令牌密钥.当我编译我的解决方案时,我有一条消息告诉我以下内容:
"无法解决"log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821"和"log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304"之间的冲突.选择"log4net,Version = 1.2 .10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821"任意".
最糟糕的是,如果不安装32位版本的Crystal Reports(在GAC上安装log4net程序集),我就无法部署到64位机器上
我从GAC获取了Crystal版本的log4net,问题是:
如果我开始使用Crystal Reports的版本(PublicTokenKey = 692fbea5521e1304),我会解决任何问题吗?
而 如果我想使用什么log4net的的下一个版本(比如v1.2.11.0)?
有没有办法以正确的方式解决这个问题?
我一直在通过Josh Smith 的文章学习 MVVM 模式,我想创建一个经典布局,其中包含一些右侧的链接(通过命令管理),这样当我单击一个链接时,我可以将右侧的视图显示到选项卡控件中(在它有一个 ContentControl)。
当我将 DataTemplate 与我想要在屏幕上显示的特定 View 和 ViewModel 一起使用时,这很简单。
<!-- this section into my MainWindow's resources file -->
<DataTemplate xmlns:vm='clr-namespace:WpfFramework.ViewModels'
xmlns:vw='clr-namespace:WpfFramework.Views'
DataType="{x:Type vm:MySpecificViewModel }" >
<vw:MySpecificView />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
但是,我想要一些更通用的东西。我的意思是我的 mainWindow 不应该知道特定的 View 或特定的 ViewModel。它应该只知道它绑定到某些命令并具有显示“某些视图”的选项卡控件。包括Josh Smith 的文章在内的每个示例似乎都具有有限的视图和视图模型范围,这对于示例来说非常棒。
那么,我如何告诉我的 ContentControl 某个视图(及其相应的 viewModel)将会存在而不那么具体(不“烧录”到 mainView 的具体类型)?
最好的问候罗德里戈
PD。我尝试过使用基础 ViewModel 和基础视图,但它似乎不起作用。
wpf ×2
binding ×1
c# ×1
ecmascript-6 ×1
javascript ×1
linq ×1
mvvm ×1
reactjs ×1
unobtrusive ×1