0

让我描述一下我的页面布局。我的页面上有一个拆分器,左页是导航面板,右页是内容。所以当用户点击面板上的一个节点时,内容将显示在右侧。问题是当用户在显示的内容上提供值时,远程验证不会触发。当页面不是局部视图并且它正在工作时,我尝试了这个。

这是加载局部视图时的脚本。

var onPanelItemSelect = function (e) {

    var windowPath;

    windowPath = $(e.item).attr('data-value');

    if (windowPath != '#') {

        $.ajax({
            type: 'GET',
            url: windowPath,
            success: function (data) {
                $('#right_pane').html(data);                                
            }
        });
    }

    return false;
}
4

5 回答 5

0

从本质上讲,我有一种感觉,如果您使用相同的模型来绑定主页和部分,那么问题也可能是属性名称绑定不正确。

例如,如果您有一个模型类(称为 ModelClass),它具有两个面板(称为 ModelClass.LeftPanel 和 ModelClass.RightPanel)的属性

LeftPanel 可以有一个属性 (TextProperty),用于绑定到右侧部分页面。您可能希望它被命名为“RightPanel.TextProperty”,但它实际上以一个名称“TextProperty”结束。这也可能影响远程验证。

这个Stackoverflow 问题描述了我认为的问题,以及各种解决方案。

希望这可以帮助。

于 2013-01-28T07:00:05.900 回答
0

尝试这个:

改变

success: function (data) {
$('#right_pane').html(data);                                
}

success: function (data) {
$('#right_pane').html(data);
jQuery.validator.unobtrusive.parse("#right_pane");                                
}
于 2013-06-07T13:41:48.087 回答
0

请在您的部分页面中添加对 validate.min.js 和 validate.unobtrusive.js 的引用。它为我工作。

PS:我是不是太晚了:)

于 2013-11-29T08:55:28.120 回答
0

解决了这个问题,如果有人有更好的答案,我很乐意。在每个视图的标题上,我附上了验证和不显眼的脚本。

于 2013-02-05T08:47:30.330 回答
-1

我的文章有一个远程验证的描述性代码,你可以看看。

远程验证文章

于 2013-04-01T07:40:24.950 回答